diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..8ed33ea91 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +* text=auto +*.sh text eol=lf +Dockerfile text eol=lf +*.service text eol=lf +*.timer text eol=lf +*.conf text eol=lf +*.yml text eol=lf +*.yaml text eol=lf diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 000000000..b2a8be78a --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,161 @@ +name: Android CI + +on: + push: + branches: [main] + tags: ["sms-v*"] + pull_request: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: android-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build Android gateway + runs-on: ubuntu-latest + env: + GOOGLE_SERVICES_JSON_BASE64: ${{ secrets.ANDROID_GOOGLE_SERVICES_JSON_BASE64 }} + RELEASE_KEYSTORE_BASE64: ${{ secrets.ANDROID_RELEASE_KEYSTORE_BASE64 }} + RELEASE_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }} + RELEASE_KEY_ALIAS: ${{ secrets.ANDROID_RELEASE_KEY_ALIAS }} + RELEASE_KEY_PASSWORD: ${{ secrets.ANDROID_RELEASE_KEY_PASSWORD }} + steps: + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 + with: + persist-credentials: false + + - name: Set up Java + uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 + with: + distribution: temurin + java-version: "21" + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@48b5f213c81028ace310571dc5ec0fbbca0b2947 + + - name: Set up Android SDK + uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 + + - name: Install Android SDK platform + run: | + yes | sdkmanager --licenses >/dev/null || true + sdkmanager "platforms;android-36" "build-tools;36.0.0" + + - name: Prepare Gradle wrapper + run: chmod +x android/gradlew + + - name: Configure Firebase Android app + working-directory: android + run: | + if [[ -n "$GOOGLE_SERVICES_JSON_BASE64" ]]; then + printf '%s' "$GOOGLE_SERVICES_JSON_BASE64" | base64 --decode > app/google-services.json + jq --exit-status ' + .project_info.project_id == "nasak-21cb5" and + any(.client[]; .client_info.android_client_info.package_name == "com.httpsms") + ' app/google-services.json >/dev/null + elif [[ "${{ github.event_name }}" == "pull_request" ]]; then + cp app/google-services.example.json app/google-services.json + jq --exit-status ' + any(.client[]; .client_info.android_client_info.package_name == "com.httpsms") + ' app/google-services.json >/dev/null + else + echo "ANDROID_GOOGLE_SERVICES_JSON_BASE64 is required." >&2 + exit 1 + fi + + chmod 0600 app/google-services.json + + - name: Reject upstream telemetry and endpoints + run: | + if grep -R -E \ + 'api\.httpsms\.com|api\.axiom\.co|ingest\.sentry\.io|xaat-' \ + android/app/src android/app/build.gradle.kts; then + echo "The Android build still contains an upstream endpoint or credential." >&2 + exit 1 + fi + + - name: Configure release signing + if: github.event_name != 'pull_request' + run: | + for value in \ + "$RELEASE_KEYSTORE_BASE64" \ + "$RELEASE_KEYSTORE_PASSWORD" \ + "$RELEASE_KEY_ALIAS" \ + "$RELEASE_KEY_PASSWORD"; do + if [[ -z "$value" ]]; then + echo "Android release signing secrets are incomplete." >&2 + exit 1 + fi + done + + keystore="$RUNNER_TEMP/nasak-sms-release.p12" + printf '%s' "$RELEASE_KEYSTORE_BASE64" | base64 --decode > "$keystore" + chmod 0600 "$keystore" + { + echo "ANDROID_KEYSTORE_PATH=$keystore" + echo "ANDROID_KEYSTORE_PASSWORD=$RELEASE_KEYSTORE_PASSWORD" + echo "ANDROID_KEY_ALIAS=$RELEASE_KEY_ALIAS" + echo "ANDROID_KEY_PASSWORD=$RELEASE_KEY_PASSWORD" + } >> "$GITHUB_ENV" + + - name: Test and build debug APK + if: github.event_name == 'pull_request' + working-directory: android + run: ./gradlew --no-daemon testDebugUnitTest assembleDebug + + - name: Test and build signed release APK + if: github.event_name != 'pull_request' + working-directory: android + env: + ANDROID_VERSION_CODE: ${{ github.run_number }} + ANDROID_VERSION_NAME: ${{ startsWith(github.ref, 'refs/tags/sms-v') && github.ref_name || github.sha }} + run: | + ./gradlew --no-daemon :app:testDebugUnitTest :app:assembleRelease + "$ANDROID_HOME/build-tools/36.0.0/apksigner" verify --verbose app/build/outputs/apk/release/app-release.apk + cp app/build/outputs/apk/release/app-release.apk ../NasakSms.apk + + - name: Upload signed APK + if: github.event_name != 'pull_request' + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 + with: + name: NasakSms-${{ github.run_number }} + path: NasakSms.apk + if-no-files-found: error + retention-days: 30 + + release: + name: Publish Android release + if: startsWith(github.ref, 'refs/tags/sms-v') + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Download signed APK + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 + with: + pattern: NasakSms-* + merge-multiple: true + + - name: Publish GitHub release + env: + GH_TOKEN: ${{ github.token }} + run: | + if gh release view "$GITHUB_REF_NAME" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then + gh release upload "$GITHUB_REF_NAME" NasakSms.apk \ + --repo "$GITHUB_REPOSITORY" \ + --clobber + else + gh release create "$GITHUB_REF_NAME" NasakSms.apk \ + --repo "$GITHUB_REPOSITORY" \ + --verify-tag \ + --title "Nasak SMS ${GITHUB_REF_NAME#sms-v}" \ + --notes "Signed Nasak SMS Android gateway for sms.nasak.ir." + fi diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 79337711d..c8abc6fa3 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -1,132 +1,70 @@ -name: api +name: API CI on: push: - branches: - - main + branches: [main] pull_request: - branches: - - main + branches: [main] permissions: contents: read - id-token: write jobs: test: - name: Integration Tests + name: Integration tests runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 - name: Set up Go - uses: actions/setup-go@v6 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 with: go-version: stable - - name: Generate Firebase credentials + - name: Generate Firebase emulator credentials run: | bash tests/generate-firebase-credentials.sh tests/firebase-credentials.json - echo "FIREBASE_CREDENTIALS=$(jq -c . tests/firebase-credentials.json)" >> $GITHUB_ENV + echo "FIREBASE_CREDENTIALS=$(jq -c . tests/firebase-credentials.json)" >> "$GITHUB_ENV" - - name: Start Services + - name: Start test services working-directory: ./tests run: docker compose up -d --build - - name: Wait for services to be healthy + - name: Wait for services working-directory: ./tests run: | - echo "Waiting for MongoDB to be healthy..." for i in $(seq 1 20); do - if docker compose exec mongodb mongosh --eval "db.runCommand('ping').ok" --quiet >/dev/null 2>&1; then - echo "MongoDB is healthy!" - break - fi - if [ $i -eq 20 ]; then - echo "MongoDB failed to become healthy" - docker compose logs mongodb - exit 1 - fi - echo "MongoDB attempt $i/20 - waiting 3s..." + if docker compose exec mongodb mongosh --eval "db.runCommand('ping').ok" --quiet >/dev/null 2>&1; then break; fi + if [ "$i" -eq 20 ]; then docker compose logs mongodb; exit 1; fi sleep 3 done - - echo "Waiting for API to be healthy..." for i in $(seq 1 40); do - if docker compose exec api curl -sf http://localhost:8000/health >/dev/null 2>&1; then - echo "API is healthy!" - break - fi - if [ $i -eq 40 ]; then - echo "API failed to become healthy" - docker compose logs api - exit 1 - fi - echo "Attempt $i/40 - waiting 5s..." + if docker compose exec api curl -sf http://localhost:8000/health >/dev/null 2>&1; then break; fi + if [ "$i" -eq 40 ]; then docker compose logs api; exit 1; fi sleep 5 done - - name: Seed Database + - name: Wait for seed working-directory: ./tests - run: | - echo "Waiting for seed container to finish..." - docker compose wait seed || true - sleep 2 + run: docker compose wait seed || true - - name: Run Handler Integration Tests + - name: Run handler integration tests working-directory: ./api env: USER_API_KEY: test-user-api-key run: go test -tags integration -v -timeout 60s ./pkg/handlers - - name: Run Integration Tests + - name: Run integration tests working-directory: ./tests run: go test -v -timeout 300s ./... - - name: Collect Logs on Failure + - name: Collect logs on failure if: failure() working-directory: ./tests - run: | - docker compose logs --tail 200 + run: docker compose logs --tail 200 - - name: Stop Services + - name: Stop services if: always() working-directory: ./tests run: docker compose down -v - - deploy: - name: Deploy - runs-on: ubuntu-latest - needs: test - if: github.event_name == 'push' && github.ref == 'refs/heads/main' - steps: - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v3 - with: - workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }} - service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }} - - - name: Set up Cloud SDK - uses: google-github-actions/setup-gcloud@v3 - - - name: Trigger Cloud Build Deploy - run: | - BUILD_ID=$(gcloud builds triggers run api-httpsms-com \ - --region=global \ - --project=httpsms-86c51 \ - --sha=${{ github.sha }} \ - --format="value(metadata.build.id)") - echo -e "Cloud Build: \033[34mhttps://console.cloud.google.com/cloud-build/builds/$BUILD_ID?project=httpsms-86c51\033[0m" - echo "" - echo "Polling Cloud Build Status..." - while true; do - STATUS=$(gcloud builds describe "$BUILD_ID" --region=global --project=httpsms-86c51 --format="value(status)") - LOCAL_TIME=$(date -u '+%Y-%m-%d %H:%M:%S UTC') - echo -e " \033[90m${LOCAL_TIME}\033[0m status=\033[36m${STATUS}\033[0m" - case "$STATUS" in - SUCCESS) echo -e "\033[32mBuild succeeded!\033[0m"; exit 0 ;; - FAILURE|TIMEOUT|CANCELLED|EXPIRED|INTERNAL_ERROR) echo -e "\033[31mBuild failed with status: $STATUS\033[0m"; exit 1 ;; - esac - sleep 30 - done diff --git a/.github/workflows/deploy-nasak.yml b/.github/workflows/deploy-nasak.yml new file mode 100644 index 000000000..6b017c325 --- /dev/null +++ b/.github/workflows/deploy-nasak.yml @@ -0,0 +1,94 @@ +name: Deploy Nasak SMS + +on: + push: + branches: [main] + paths: + - "api/**" + - "web/**" + - "compose.production.yml" + - "ops/**" + - ".github/workflows/deploy-nasak.yml" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: nasak-sms-production + cancel-in-progress: false + +jobs: + deploy: + if: ${{ vars.NASAK_DEPLOY_ENABLED == 'true' }} + runs-on: ubuntu-latest + environment: production + steps: + - name: Check out source + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 + with: + persist-credentials: false + + - name: Package immutable release + env: + RELEASE_ARCHIVE: ${{ runner.temp }}/nasak-sms-${{ github.sha }}.tar.gz + run: | + tar \ + --exclude='.git' \ + --exclude='.env' \ + --exclude='.env.*' \ + --exclude='node_modules' \ + --exclude='*.bundle' \ + --exclude='*-src.tar.gz' \ + -czf "$RELEASE_ARCHIVE" . + (cd "$(dirname "$RELEASE_ARCHIVE")" && sha256sum "$(basename "$RELEASE_ARCHIVE")" > "$(basename "$RELEASE_ARCHIVE").sha256") + + - name: Configure SSH + env: + DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} + DEPLOY_USER: ${{ secrets.DEPLOY_USER }} + DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }} + DEPLOY_KNOWN_HOSTS: ${{ secrets.DEPLOY_KNOWN_HOSTS }} + run: | + install -d -m 0700 ~/.ssh + printf '%s\n' "$DEPLOY_SSH_KEY" > ~/.ssh/id_ed25519 + printf '%s\n' "$DEPLOY_KNOWN_HOSTS" > ~/.ssh/known_hosts + chmod 0600 ~/.ssh/id_ed25519 ~/.ssh/known_hosts + printf 'Host production\n HostName %s\n User %s\n IdentityFile ~/.ssh/id_ed25519\n IdentitiesOnly yes\n ServerAliveInterval 30\n ServerAliveCountMax 20\n TCPKeepAlive yes\n ConnectTimeout 20\n' "$DEPLOY_HOST" "$DEPLOY_USER" > ~/.ssh/config + + - name: Upload verified release + env: + RELEASE_ARCHIVE: ${{ runner.temp }}/nasak-sms-${{ github.sha }}.tar.gz + run: | + scp "$RELEASE_ARCHIVE" production:/tmp/ + scp "$RELEASE_ARCHIVE.sha256" production:/tmp/ + + - name: Deploy verified release + run: | + # shellcheck disable=SC2029 + ssh production "RELEASE_SHA=${GITHUB_SHA} bash -s" <<'REMOTE' + set -Eeuo pipefail + archive="/tmp/nasak-sms-${RELEASE_SHA}.tar.gz" + checksum="${archive}.sha256" + stage="/opt/nasak-sms/incoming/${RELEASE_SHA}" + + case "$stage" in + /opt/nasak-sms/incoming/*) ;; + *) echo "Unsafe release path" >&2; exit 1 ;; + esac + + cd /tmp + sha256sum --check "$checksum" + sudo rm -rf -- "$stage" + sudo install -d -m 0750 -o root -g root "$stage" + sudo tar -xzf "$archive" -C "$stage" + sudo rsync -a --delete --exclude='.git/' "$stage/" /opt/nasak-sms/repository/ + sudo env GIT_COMMIT="$RELEASE_SHA" /opt/nasak-sms/repository/ops/deploy.sh + sudo rm -rf -- "$stage" + rm -f -- "$archive" "$checksum" + REMOTE + + - name: Smoke test + run: | + curl --fail --silent --show-error --retry 5 --retry-delay 3 https://sms.nasak.ir/healthz + curl --fail --silent --show-error --retry 5 --retry-delay 3 https://sms.nasak.ir/api/health diff --git a/.github/workflows/web.yml b/.github/workflows/web.yml index 350bf3256..5a623b659 100644 --- a/.github/workflows/web.yml +++ b/.github/workflows/web.yml @@ -1,17 +1,13 @@ -name: web +name: Web CI on: push: - branches: - - main + branches: [main] pull_request: - branches: - - main + branches: [main] permissions: contents: read - pull-requests: write - deployments: write defaults: run: @@ -19,74 +15,25 @@ defaults: jobs: validate: - name: Validate - runs-on: ${{ matrix.os }} - - strategy: - matrix: - os: [ubuntu-latest] - node: [24] - + name: Validate web panel + runs-on: ubuntu-latest steps: - - name: Checkout 🛎 - uses: actions/checkout@master + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 - - uses: pnpm/action-setup@v6 - name: Install pnpm + - name: Install pnpm + uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 with: version: 11 - - name: Install dependencies 📦 - run: pnpm install + - name: Install dependencies + run: pnpm install --frozen-lockfile - - name: Run linter 👀 + - name: Lint run: pnpm lint - - name: Run tests 🧪 + - name: Test run: pnpm test - - name: Build 🏗️ + - name: Generate production panel run: mv .env.production .env && echo "GITHUB_SHA=${GITHUB_SHA}" >> .env && pnpm run generate - - deploy: - name: Deploy - needs: validate - if: github.event_name == 'push' && github.ref == 'refs/heads/main' - runs-on: ubuntu-latest - - steps: - - name: Checkout 🛎 - uses: actions/checkout@master - - - name: Setup Node 🟢 - uses: actions/setup-node@v6 - with: - node-version: '24.18' - - - uses: pnpm/action-setup@v6 - name: Install pnpm - with: - version: 11 - - - name: Install dependencies 📦 - run: pnpm install - - - name: Build 🏗️ - run: mv .env.production .env && echo "GITHUB_SHA=${GITHUB_SHA}" >> .env && pnpm run generate - - - name: Cloudflare Deploy 🚀 - uses: cloudflare/wrangler-action@v4 - with: - apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} - accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - command: pages deploy web/.output/public --project-name=httpsms - gitHubToken: ${{ secrets.GITHUB_TOKEN }} - - - name: Firebase Deploy 🚀 - uses: FirebaseExtended/action-hosting-deploy@500ac625ca2dd40cbd15f7659af953801858032a - with: - repoToken: "${{ secrets.GITHUB_TOKEN }}" - channelId: live - entryPoint: "./web" - firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_HTTPSMS_86C51 }}" - projectId: httpsms-86c51 diff --git a/.gitignore b/.gitignore index 8f4caf4b5..005ad2c6b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,19 @@ SECURITY_AUDIT_REPORT.md .output .agents/ skills-lock.json + +# Nasak production runtime files (secrets and generated state) +deploy/runtime/ +deploy/*.env +deploy/*.json +backups/ +*.dump +*.dump.sha256 +*.bundle +*-src.tar.gz +firebase-credentials.json +google-services.json +!android/app/google-services.example.json +*.jks +*.keystore +*.p12 diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..402e8e128 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,9 @@ +# Repository agent guidance + +This repository keeps a generated code knowledge graph in `graphify-out/`. + +- Before broad codebase exploration, run `graphify query ""`. +- Use `graphify path "" ""` for call or dependency paths. +- Use `graphify explain ""` for focused architecture context. +- After changing code, run `graphify update .` before committing. +- Never add runtime secrets, Firebase credentials, `google-services.json`, database dumps, or production environment files to the graph or repository. diff --git a/README.md b/README.md index 14690530a..e7da1c408 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,19 @@ -# httpSMS +# پیامک نسک + +درگاه self-hosted نسک برای ارسال و دریافت SMS از طریق گوشی اندرویدی و سیم‌کارت +خود مجموعه. این نسخه هیچ credit، اشتراک نرم‌افزاری یا سقف پیام ندارد و پنل آن در +`sms.nasak.ir` اجرا می‌شود. تعرفه خود اپراتور سیم‌کارت همچنان مستقل از نرم‌افزار +است. + +- راهنمای کامل معماری و عملیات: [docs/NASAK_SMS.md](docs/NASAK_SMS.md) +- API عمومی: `https://sms.nasak.ir/api` +- پنل: `https://sms.nasak.ir` +- Android APK: بخش Releases همین repository + +این fork از پروژه متن‌باز httpSMS ساخته شده و مجوز AGPL و تاریخچه attribution +آن حفظ شده است. + +## Upstream project [![Web](https://github.com/NdoleStudio/httpsms/actions/workflows/web.yml/badge.svg)](https://github.com/NdoleStudio/httpsms/actions/workflows/web.yml) [![API](https://github.com/NdoleStudio/httpsms/actions/workflows/api.yml/badge.svg)](https://github.com/NdoleStudio/httpsms/actions/workflows/api.yml) @@ -147,7 +162,7 @@ Android App-->>httpSMS API: [Async] Send Delivery Report ```js const firebaseConfig = { - apiKey: "AIzaSyAKqPvj51igvvNNcRtxxxxx", + apiKey: "YOUR_FIREBASE_API_KEY", authDomain: "httpsms-docker.firebaseapp.com", projectId: "httpsms-docker", storageBucket: "httpsms-docker.appspot.com", diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index f670b8bb7..75e67e85a 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,7 +1,6 @@ plugins { id("com.android.application") id("com.google.gms.google-services") - id("io.sentry.android.gradle") version "6.14.0" id("org.jetbrains.kotlin.plugin.compose") } @@ -9,25 +8,50 @@ val gitHash = providers.exec { commandLine("git", "rev-parse", "--short", "HEAD") }.standardOutput.asText.map { it.trim() } +val releaseKeystorePath = providers.environmentVariable("ANDROID_KEYSTORE_PATH").orNull +val releaseKeystorePassword = providers.environmentVariable("ANDROID_KEYSTORE_PASSWORD").orNull +val releaseKeyAlias = providers.environmentVariable("ANDROID_KEY_ALIAS").orNull +val releaseKeyPassword = providers.environmentVariable("ANDROID_KEY_PASSWORD").orNull +val hasReleaseSigning = listOf( + releaseKeystorePath, + releaseKeystorePassword, + releaseKeyAlias, + releaseKeyPassword +).all { !it.isNullOrBlank() } + android { - compileSdk = 37 + compileSdk = 36 defaultConfig { applicationId = "com.httpsms" minSdk = 28 - targetSdk = 37 - versionCode = 1 - versionName = gitHash.getOrElse("unknown") + targetSdk = 36 + versionCode = providers.environmentVariable("ANDROID_VERSION_CODE") + .orNull + ?.toIntOrNull() + ?: 1 + versionName = providers.environmentVariable("ANDROID_VERSION_NAME") + .orNull + ?.takeIf { it.isNotBlank() } + ?: gitHash.getOrElse("unknown") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } - buildTypes { - getByName("debug") { - manifestPlaceholders["sentryEnvironment"] = "development" + signingConfigs { + if (hasReleaseSigning) { + create("release") { + storeFile = file(requireNotNull(releaseKeystorePath)) + storePassword = requireNotNull(releaseKeystorePassword) + keyAlias = requireNotNull(releaseKeyAlias) + keyPassword = requireNotNull(releaseKeyPassword) + } } + } + + buildTypes { getByName("release") { - manifestPlaceholders["sentryEnvironment"] = "production" isMinifyEnabled = false + signingConfig = signingConfigs.findByName("release") proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } @@ -53,18 +77,18 @@ dependencies { implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.compose.material3:material3") implementation("androidx.compose.material:material-icons-extended") - implementation("androidx.activity:activity-compose:1.13.0") - implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.11.0") + implementation("androidx.activity:activity-compose:1.10.1") + implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.9.4") implementation(platform("com.google.firebase:firebase-bom:34.16.0")) implementation("com.journeyapps:zxing-android-embedded:4.3.0") - implementation("com.google.firebase:firebase-analytics") implementation("com.google.firebase:firebase-messaging") implementation("com.squareup.okhttp3:okhttp:5.4.0") implementation("com.jakewharton.timber:timber:5.0.1") implementation("androidx.preference:preference-ktx:1.2.1") + implementation("androidx.security:security-crypto:1.1.0") implementation("androidx.work:work-runtime-ktx:2.11.2") - implementation("androidx.core:core-ktx:1.19.0") + implementation("androidx.core:core-ktx:1.16.0") implementation("androidx.cardview:cardview:1.0.0") implementation("com.beust:klaxon:5.6") implementation("androidx.appcompat:appcompat:1.7.1") diff --git a/android/app/google-services.example.json b/android/app/google-services.example.json new file mode 100644 index 000000000..d2328743f --- /dev/null +++ b/android/app/google-services.example.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "000000000000", + "project_id": "replace-with-firebase-project-id", + "storage_bucket": "replace-with-firebase-project-id.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:000000000000:android:0000000000000000", + "android_client_info": { + "package_name": "com.httpsms" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "replace-with-firebase-api-key" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} diff --git a/android/app/google-services.json b/android/app/google-services.json deleted file mode 100644 index 4db4c0640..000000000 --- a/android/app/google-services.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "project_info": { - "project_number": "877524083399", - "project_id": "httpsms-86c51", - "storage_bucket": "httpsms-86c51.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:877524083399:android:5ceb08a909fd24a96514e2", - "android_client_info": { - "package_name": "com.httpsms" - } - }, - "oauth_client": [ - { - "client_id": "877524083399-londfmd80qqlb2gebpbhctavlmqtla3b.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.httpsms", - "certificate_hash": "58df9f7489b8bb5e3cd57f01a03d5e0068d8c185" - } - }, - { - "client_id": "877524083399-7pn57hd8k2js6tc93i428ko1m51mj50r.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyBKiokmk5qhE2Zc5F97KWzOvRe8FDDuxDg" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "877524083399-7pn57hd8k2js6tc93i428ko1m51mj50r.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - } - ], - "configuration_version": "1" -} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 86ca0a514..786bdeccd 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -23,7 +23,7 @@ - - - - - - - - diff --git a/android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt b/android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt index e4113289b..5340a123e 100644 --- a/android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt +++ b/android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt @@ -48,7 +48,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() { */ override fun onNewToken(token: String) { initTimber() - Timber.d("Refreshed token: $token") + Timber.d("FCM registration token refreshed") // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the @@ -102,7 +102,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() { // [END dispatch_job] } private fun sendRegistrationToServer(token: String) { - Timber.d("sendRegistrationTokenToServer($token)") + Timber.d("sending refreshed FCM registration token") Settings.setFcmTokenAsync(this, token) if (Settings.isLoggedIn(this)) { @@ -125,11 +125,10 @@ class MyFirebaseMessagingService : FirebaseMessagingService() { return } - if(Settings.isDebugLogEnabled(this)) { - Timber.plant(Timber.DebugTree()) - Timber.plant(LogzTree(this.applicationContext)) - } - } + if(Settings.isDebugLogEnabled(this)) { + Timber.plant(Timber.DebugTree()) + } + } internal class SendSmsWorker(appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) { override fun doWork(): Result { diff --git a/android/app/src/main/java/com/httpsms/HttpSmsApiService.kt b/android/app/src/main/java/com/httpsms/HttpSmsApiService.kt index 51fa21cdc..b3c4c3e7f 100644 --- a/android/app/src/main/java/com/httpsms/HttpSmsApiService.kt +++ b/android/app/src/main/java/com/httpsms/HttpSmsApiService.kt @@ -274,18 +274,18 @@ class HttpSmsApiService(private val apiKey: String, private val baseURL: URI) { .build() try { - val response = client.newCall(request).execute() - if (!response.isSuccessful) { - Timber.e("error response [${response.body?.string()}] with code [${response.code}] while updating FCM token [$fcmToken] with apiKey [$apiKey]") - response.close() - if (response.code == 401) { - Timber.e("invalid API key [$apiKey]") - return Triple(null, "Cannot validate the API key. Check if it is correct and try again.", null) - } + val response = client.newCall(request).execute() + if (!response.isSuccessful) { + Timber.e("FCM token update failed with HTTP [${response.code}]") + response.close() + if (response.code == 401) { + Timber.e("invalid API key") + return Triple(null, "Cannot validate the API key. Check if it is correct and try again.", null) + } return Triple(null,null, "Cannot login to the server, Make sure the phone number is in international format e.g +18005550100") } - Timber.i("FCM token submitted correctly with API key [$apiKey] and server url [$baseURL]" ) + Timber.i("FCM token submitted successfully") val payload = ResponsePhone.fromJson(response.body!!.string())?.data response.close() return Triple(payload, null, null) diff --git a/android/app/src/main/java/com/httpsms/LoginActivity.kt b/android/app/src/main/java/com/httpsms/LoginActivity.kt index 17bd6db66..3317549f3 100644 --- a/android/app/src/main/java/com/httpsms/LoginActivity.kt +++ b/android/app/src/main/java/com/httpsms/LoginActivity.kt @@ -17,9 +17,7 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.core.app.ActivityCompat -import com.google.android.gms.common.ConnectionResult -import com.google.android.gms.common.GoogleApiAvailability -import com.httpsms.ui.login.LoginScreen +import com.httpsms.ui.login.LoginScreen import com.httpsms.ui.login.LoginViewModel import com.httpsms.ui.theme.HttpSmsTheme import com.journeyapps.barcodescanner.ScanContract @@ -46,41 +44,33 @@ class LoginActivity : AppCompatActivity() { } LoginScreen( - viewModel = viewModel, - onQrScanClick = { startQrCodeScan() }, - onLoginClick = { - val error = isGooglePlayServicesAvailable() - if (error != null) { - Toast.makeText(this@LoginActivity, error, Toast.LENGTH_SHORT).show() - } else { - viewModel.login( - context = this@LoginActivity, - countryCode = getCountryCode(), - onGooglePlayServicesError = { - Toast.makeText(this@LoginActivity, it, Toast.LENGTH_SHORT).show() - }, - onFcmTokenMissing = { - Toast.makeText( - this@LoginActivity, - "Cannot find FCM token. Make sure you have Google Play Services installed", - Toast.LENGTH_LONG - ).show() - } - ) - } - } - ) + viewModel = viewModel, + onQrScanClick = { startQrCodeScan() }, + onLoginClick = { + viewModel.login( + context = this@LoginActivity, + countryCode = getCountryCode(), + onFcmTokenError = { message -> + Toast.makeText( + this@LoginActivity, + message, + Toast.LENGTH_LONG + ).show() + } + ) + } + ) } } } private val barcodeLauncher = registerForActivityResult(ScanContract()) { result -> - if (result.contents != null) { - viewModel.onApiKeyChange(result.contents) - Toast.makeText(this, "Scanned: ${result.contents}", Toast.LENGTH_LONG).show() - } else { - Toast.makeText(this, "Scan cancelled", Toast.LENGTH_SHORT).show() - } + if (result.contents != null) { + viewModel.onApiKeyChange(result.contents) + Toast.makeText(this, R.string.qr_code_scanned, Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(this, R.string.qr_scan_cancelled, Toast.LENGTH_SHORT).show() + } } private fun startQrCodeScan() { @@ -145,18 +135,6 @@ class LoginActivity : AppCompatActivity() { Timber.d("creating permissions launcher") } - private fun isGooglePlayServicesAvailable(): String? { - val googleApiAvailability = GoogleApiAvailability.getInstance() - val status = googleApiAvailability.isGooglePlayServicesAvailable(this) - if (status != ConnectionResult.SUCCESS) { - if (googleApiAvailability.isUserResolvableError(status)) { - googleApiAvailability.getErrorDialog(this, status, 2404)?.show() - } - return googleApiAvailability.getErrorString(status) - } - return null - } - private fun redirectToMain() { if (!Settings.isLoggedIn(this)) { return diff --git a/android/app/src/main/java/com/httpsms/LogzTree.kt b/android/app/src/main/java/com/httpsms/LogzTree.kt deleted file mode 100644 index 68a81c8ee..000000000 --- a/android/app/src/main/java/com/httpsms/LogzTree.kt +++ /dev/null @@ -1,82 +0,0 @@ -package com.httpsms - -import android.content.Context -import android.os.Build -import com.beust.klaxon.Json -import com.beust.klaxon.Klaxon -import okhttp3.MediaType.Companion.toMediaType -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.RequestBody.Companion.toRequestBody -import timber.log.Timber -import java.time.ZoneOffset -import java.time.ZonedDateTime -import java.time.format.DateTimeFormatter -import io.sentry.Sentry - -class LogzTree(val context: Context): Timber.DebugTree() { - private val client = OkHttpClient() - - override fun log(priority: Int, tag: String?, message: String, t: Throwable?) { - val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") - val logEntry = LogEntry( - BuildConfig.APPLICATION_ID, - BuildConfig.VERSION_NAME, - priority, - severity(priority), - tag, - message, - Build.MODEL, - Build.BRAND, - Build.DEVICE, - Build.VERSION.SDK_INT, - ZonedDateTime.now(ZoneOffset.UTC).format(formatter), - Settings.getUserID(context), - t - ) - - val body = Klaxon().toJsonString(listOf(logEntry)).toRequestBody("application/json".toMediaType()) - val request: Request = Request.Builder() - .url("https://api.axiom.co/v1/datasets/production/ingest") - .post(body) - .header("Content-Type", "application/json") - .header("Authorization", "Bearer xaat-2a2e0b73-3702-4971-a80f-be3956934950") - .build() - - Thread { - try { - val response = client.newCall(request).execute() - response.body?.close() - } catch(ex: Exception) { - Sentry.captureException(ex) - } - }.start() - } - - private fun severity(priority: Int): String { - return when(priority) { - 3 -> "DEBUG" - 4 -> "INFO" - 5 -> "WARNING" - 6 -> "ERROR" - 7 -> "ASSERT" - else -> "VERBOSE" - } - } - - class LogEntry( - val name: String, - val release: String, - val priority: Int, - val severity: String, - val tag: String?, - val message: String, - val model: String, - val brand: String, - val device: String, - val version: Int, - @Json(name = "@timestamp") - val dt: String, - val userID: String, - val throwable: Throwable?) -} diff --git a/android/app/src/main/java/com/httpsms/MainActivity.kt b/android/app/src/main/java/com/httpsms/MainActivity.kt index ff7587db2..44ca0688d 100644 --- a/android/app/src/main/java/com/httpsms/MainActivity.kt +++ b/android/app/src/main/java/com/httpsms/MainActivity.kt @@ -48,7 +48,10 @@ class MainActivity : AppCompatActivity() { viewModel = viewModel, onSettingsClick = { onSettingsClick() }, onSmsPermissionClick = { - val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://httpsms.com/blog/grant-send-and-read-sms-permissions-on-android")) + val intent = Intent( + Intent.ACTION_VIEW, + Uri.parse("https://github.com/Nasak-ir/httpsms/blob/main/docs/NASAK_PRODUCTION.md#android-gateway") + ) startActivity(intent) }, onBatteryOptimizationClick = { @@ -211,7 +214,6 @@ class MainActivity : AppCompatActivity() { if(Settings.isDebugLogEnabled(this)) { Timber.plant(Timber.DebugTree()) - Timber.plant(LogzTree(this.applicationContext)) } } diff --git a/android/app/src/main/java/com/httpsms/Settings.kt b/android/app/src/main/java/com/httpsms/Settings.kt index 8cda79da2..06e7753ff 100644 --- a/android/app/src/main/java/com/httpsms/Settings.kt +++ b/android/app/src/main/java/com/httpsms/Settings.kt @@ -1,15 +1,19 @@ package com.httpsms -import android.content.Context -import android.os.BatteryManager -import androidx.preference.PreferenceManager +import android.content.Context +import android.content.SharedPreferences +import android.os.BatteryManager +import androidx.preference.PreferenceManager +import androidx.security.crypto.EncryptedSharedPreferences +import androidx.security.crypto.MasterKey import timber.log.Timber import java.net.URI import java.time.ZoneOffset import java.time.ZonedDateTime import java.time.format.DateTimeFormatter -object Settings { +object Settings { + private const val SECURE_SETTINGS_NAME = "nasak_sms_secure_settings" private const val SETTINGS_SIM1_PHONE_NUMBER = "SETTINGS_SIM1_PHONE_NUMBER" private const val SETTINGS_SIM2_PHONE_NUMBER = "SETTINGS_SIM2_PHONE_NUMBER" private const val SETTINGS_SIM1_ACTIVE = "SETTINGS_SIM1_ACTIVE_STATUS" @@ -26,7 +30,47 @@ object Settings { private const val SETTINGS_FCM_TOKEN_UPDATE_TIMESTAMP = "SETTINGS_FCM_TOKEN_UPDATE_TIMESTAMP" private const val SETTINGS_HEARTBEAT_TIMESTAMP = "SETTINGS_HEARTBEAT_TIMESTAMP" private const val SETTINGS_ENCRYPTION_KEY = "SETTINGS_ENCRYPTION_KEY" - private const val SETTINGS_ENCRYPT_RECEIVED_MESSAGES = "SETTINGS_ENCRYPT_RECEIVED_MESSAGES" + private const val SETTINGS_ENCRYPT_RECEIVED_MESSAGES = "SETTINGS_ENCRYPT_RECEIVED_MESSAGES" + + private fun securePreferences(context: Context): SharedPreferences { + val masterKey = MasterKey.Builder(context) + .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) + .build() + + return EncryptedSharedPreferences.create( + context, + SECURE_SETTINGS_NAME, + masterKey, + EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, + EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM + ) + } + + private fun getSecureString(context: Context, key: String): String? { + val encrypted = securePreferences(context).getString(key, null) + if (encrypted != null) { + return encrypted + } + + // One-time migration from releases that stored gateway credentials in + // the default preferences file. + val legacyPreferences = PreferenceManager.getDefaultSharedPreferences(context) + val legacy = legacyPreferences.getString(key, null) ?: return null + securePreferences(context).edit().putString(key, legacy).apply() + legacyPreferences.edit().remove(key).apply() + return legacy + } + + private fun setSecureString(context: Context, key: String, value: String?) { + val editor = securePreferences(context).edit() + if (value == null) { + editor.remove(key) + } else { + editor.putString(key, value) + } + editor.apply() + PreferenceManager.getDefaultSharedPreferences(context).edit().remove(key).apply() + } fun getPhoneNumber(context:Context, sim: String): String { if (sim == Constants.SIM2) { @@ -264,12 +308,7 @@ object Settings { private fun getApiKey(context: Context): String?{ Timber.d(Settings::getApiKey.name) - val apiKey = PreferenceManager - .getDefaultSharedPreferences(context) - .getString(this.SETTINGS_API_KEY,null) - - Timber.d("SETTINGS_API_KEY: [$apiKey]") - return apiKey + return getSecureString(context, SETTINGS_API_KEY) } fun getApiKeyOrDefault(context:Context): String { @@ -297,10 +336,10 @@ object Settings { return userID ?: "" } - fun getServerUrlOrDefault(context:Context): URI { - val urlString = getServerUrl(context) ?: "https://api.httpsms.com" - return URI(urlString) - } + fun getServerUrlOrDefault(context:Context): URI { + val urlString = getServerUrl(context) ?: "https://sms.nasak.ir/api" + return URI(urlString) + } private fun getServerUrl(context: Context): String? { Timber.d(Settings::getServerUrl.name) @@ -325,30 +364,19 @@ object Settings { fun setApiKeyAsync(context: Context, apiKey: String?) { Timber.d(Settings::setApiKeyAsync.name) - PreferenceManager.getDefaultSharedPreferences(context) - .edit() - .putString(this.SETTINGS_API_KEY, apiKey) - .apply() + setSecureString(context, SETTINGS_API_KEY, apiKey) } fun getFcmToken(context: Context): String?{ Timber.d(Settings::getFcmToken.name) - val activeStatus = PreferenceManager - .getDefaultSharedPreferences(context) - .getString(this.SETTINGS_FCM_TOKEN,null) - - Timber.d("SETTINGS_FCM_TOKEN: [$activeStatus]") - return activeStatus + return getSecureString(context, SETTINGS_FCM_TOKEN) } fun setFcmTokenAsync(context: Context, apiKey: String) { Timber.d(Settings::setApiKeyAsync.name) - PreferenceManager.getDefaultSharedPreferences(context) - .edit() - .putString(this.SETTINGS_FCM_TOKEN, apiKey) - .apply() + setSecureString(context, SETTINGS_FCM_TOKEN, apiKey) } fun getHeartbeatTimestamp(context: Context): Long { diff --git a/android/app/src/main/java/com/httpsms/SettingsActivity.kt b/android/app/src/main/java/com/httpsms/SettingsActivity.kt index 37a8b3523..92aa85131 100644 --- a/android/app/src/main/java/com/httpsms/SettingsActivity.kt +++ b/android/app/src/main/java/com/httpsms/SettingsActivity.kt @@ -43,9 +43,9 @@ class SettingsActivity : AppCompatActivity() { private fun onLogoutClick() { Timber.d("logout button clicked") - MaterialAlertDialogBuilder(this) - .setTitle("Confirm") - .setMessage("Are you sure you want to logout of the httpSMS App?") + MaterialAlertDialogBuilder(this) + .setTitle("Confirm") + .setMessage("Are you sure you want to log out of Nasak SMS?") .setNeutralButton("Cancel"){ _, _ -> Timber.d("logout dialog canceled") } .setPositiveButton("Logout"){_, _ -> Timber.d("logging out user") diff --git a/android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt b/android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt index a2be58a34..b32e1f101 100644 --- a/android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt +++ b/android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt @@ -65,8 +65,8 @@ class StickyNotificationService: Service() { ) return builder - .setContentTitle("httpSMS Listener") - .setContentText("httpSMS is listening for sent and received SMS messages in the background.") + .setContentTitle("Nasak SMS") + .setContentText("Nasak SMS is listening for sent and received messages in the background.") .setContentIntent(pendingIntent) .setOngoing(true) .setSmallIcon(R.drawable.ic_stat_name) diff --git a/android/app/src/main/java/com/httpsms/ui/login/LoginActivityContent.kt b/android/app/src/main/java/com/httpsms/ui/login/LoginActivityContent.kt index 0fc5e4c9d..5d9d242e0 100644 --- a/android/app/src/main/java/com/httpsms/ui/login/LoginActivityContent.kt +++ b/android/app/src/main/java/com/httpsms/ui/login/LoginActivityContent.kt @@ -64,7 +64,7 @@ fun LoginScreen( Spacer(modifier = Modifier.height(64.dp)) Image( - painter = painterResource(id = R.drawable.logo_cropped), + painter = painterResource(id = R.drawable.nasak_mark), contentDescription = stringResource(id = R.string.img_http_sms_logo), modifier = Modifier.size(100.dp) ) @@ -73,13 +73,13 @@ fun LoginScreen( val annotatedString = buildAnnotatedString { val text = stringResource(id = R.string.get_your_api_key) - val linkText = "httpsms.com/settings" + val linkText = "sms.nasak.ir/phone-api-keys" val startIndex = text.indexOf(linkText) if (startIndex >= 0) { append(text.substring(0, startIndex)) - pushStringAnnotation(tag = "URL", annotation = "https://httpsms.com/settings") + pushStringAnnotation(tag = "URL", annotation = "https://sms.nasak.ir/phone-api-keys") withStyle(style = SpanStyle(color = Blue500, fontWeight = FontWeight.Bold)) { append(linkText) } diff --git a/android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt b/android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt index a4803e41e..37a56a373 100644 --- a/android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt +++ b/android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt @@ -10,6 +10,8 @@ import android.webkit.URLUtil import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.google.firebase.FirebaseApp +import com.google.firebase.messaging.FirebaseMessaging import com.httpsms.Constants import com.httpsms.HttpSmsApiService import com.httpsms.Settings @@ -19,10 +21,12 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch +import kotlinx.coroutines.suspendCancellableCoroutine import kotlinx.coroutines.withContext import timber.log.Timber import java.net.URI import java.net.URISyntaxException +import kotlin.coroutines.resume data class LoginUiState( val apiKey: String = "", @@ -122,14 +126,8 @@ class LoginViewModel : ViewModel() { _uiState.value = _uiState.value.copy(serverUrl = value, serverUrlError = null) } - fun login(context: Context, countryCode: String, onGooglePlayServicesError: (String) -> Unit, onFcmTokenMissing: () -> Unit) { + fun login(context: Context, countryCode: String, onFcmTokenError: (String) -> Unit) { val currentState = _uiState.value - - // Validation logic from LoginActivity.onLoginClick - if (Settings.getFcmToken(context) == null) { - onFcmTokenMissing() - return - } _uiState.value = currentState.copy(isLoading = true) @@ -171,11 +169,21 @@ class LoginViewModel : ViewModel() { return@launch } + val fcmTokenResult = resolveFcmToken(context) + val fcmToken = fcmTokenResult.getOrNull() + if (fcmToken.isNullOrBlank()) { + val reason = fcmTokenResult.exceptionOrNull()?.message + ?: "Firebase did not return a registration token" + _uiState.value = _uiState.value.copy(isLoading = false) + onFcmTokenError("Cannot connect to Firebase notifications: $reason") + return@launch + } + val authResult = try { withContext(Dispatchers.IO) { val service = HttpSmsApiService(apiKey, URI(serverUrl)) val e164Phone1 = PhoneNumberValidator.formatE164(phone1, countryCode) - val response1 = service.updateFcmToken(e164Phone1, Constants.SIM1, Settings.getFcmToken(context) ?: "") + val response1 = service.updateFcmToken(e164Phone1, Constants.SIM1, fcmToken) if (response1.second != null || response1.third != null) { return@withContext Pair(response1.second, response1.third) @@ -183,7 +191,7 @@ class LoginViewModel : ViewModel() { if (currentState.isDualSim) { val e164Phone2 = PhoneNumberValidator.formatE164(phone2, countryCode) - val response2 = service.updateFcmToken(e164Phone2, Constants.SIM2, Settings.getFcmToken(context) ?: "") + val response2 = service.updateFcmToken(e164Phone2, Constants.SIM2, fcmToken) return@withContext Pair(response2.second, response2.third) } @@ -218,4 +226,33 @@ class LoginViewModel : ViewModel() { _uiState.value = _uiState.value.copy(isLoading = false, loginSuccess = true) } } + + private suspend fun resolveFcmToken(context: Context): Result { + Settings.getFcmToken(context)?.takeIf { it.isNotBlank() }?.let { return Result.success(it) } + + return suspendCancellableCoroutine { continuation -> + try { + if (FirebaseApp.getApps(context).isEmpty() && FirebaseApp.initializeApp(context) == null) { + continuation.resume(Result.failure(IllegalStateException("Firebase configuration is missing from this app build"))) + return@suspendCancellableCoroutine + } + + FirebaseMessaging.getInstance().token.addOnCompleteListener { task -> + if (!continuation.isActive) return@addOnCompleteListener + val token = task.result?.takeIf { task.isSuccessful && it.isNotBlank() } + if (token != null) { + Settings.setFcmTokenAsync(context, token) + continuation.resume(Result.success(token)) + } else { + val cause = task.exception ?: IllegalStateException("FCM token is unavailable") + Timber.e(cause, "Could not retrieve FCM token during login") + continuation.resume(Result.failure(cause)) + } + } + } catch (error: Exception) { + Timber.e(error, "Firebase initialization failed during login") + if (continuation.isActive) continuation.resume(Result.failure(error)) + } + } + } } diff --git a/android/app/src/main/java/com/httpsms/ui/main/MainActivityContent.kt b/android/app/src/main/java/com/httpsms/ui/main/MainActivityContent.kt index 087bf7921..14bf2766f 100644 --- a/android/app/src/main/java/com/httpsms/ui/main/MainActivityContent.kt +++ b/android/app/src/main/java/com/httpsms/ui/main/MainActivityContent.kt @@ -66,7 +66,7 @@ fun MainScreen( Spacer(modifier = Modifier.height(64.dp)) Image( - painter = painterResource(id = R.drawable.logo_cropped), + painter = painterResource(id = R.drawable.nasak_mark), contentDescription = stringResource(id = R.string.img_http_sms_logo), modifier = Modifier .width(147.dp) diff --git a/android/app/src/main/res/drawable/nasak_mark.png b/android/app/src/main/res/drawable/nasak_mark.png new file mode 100644 index 000000000..e0deab48c Binary files /dev/null and b/android/app/src/main/res/drawable/nasak_mark.png differ diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 02dfa1b63..c135a85e5 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,35 +1,37 @@ - httpSMS + Nasak SMS 23/06/2022 18:58:30 - Menu Icon - More + منوی برنامه + بیشتر com.httpsms.notification.default - Login With API Key - API Key - HTTP Sms Logo - Get Your API Key at\nhttpsms.com/settings - Log Out - e.g +18005550199 (international format) - e.g https://api.httpsms.com - Phone Number - Send Heartbeat - Server URL - https://api.httpsms.com - httpsms.com - %s - Disable Battery Optimization - Enable SMS Permission - App Settings + اتصال به پیامک نسک + کلید اتصال دریافت شد + اسکن لغو شد + کلید اتصال گوشی + Nasak SMS logo + کلید اتصال را از این نشانی بگیرید:\nsms.nasak.ir/phone-api-keys + خروج + نمونه: +989120000000 + https://sms.nasak.ir/api + شماره سیم‌کارت + بررسی اتصال + نشانی سرور + https://sms.nasak.ir/api + Nasak SMS - %s + غیرفعال‌کردن بهینه‌سازی باتری + دادن دسترسی پیامک + تنظیمات برنامه SIM1 SIM2 - Enable SIM1 outgoing messages - Enable SIM1 incoming messages - Enable SIM2 incoming messages - Enable SIM2 outgoing messages - Phone number (SIM1) - Phone number (SIM2) - Encryption Key - Encrypt received messages - Enable debug logs + ارسال با سیم‌کارت اول + دریافت از سیم‌کارت اول + دریافت از سیم‌کارت دوم + ارسال با سیم‌کارت دوم + شماره سیم‌کارت اول + شماره سیم‌کارت دوم + کلید رمزنگاری + رمزنگاری پیام‌های دریافتی + فعال‌کردن گزارش فنی Enable SIM1 missed call events Enable SIM2 missed call events diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 3be829b64..7025bf4ec 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -1,17 +1,7 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -buildscript { - repositories { - google() - mavenCentral() - } - dependencies { - classpath("com.google.gms:google-services:4.5.0") - } -} - plugins { id("com.android.application") version "9.2.1" apply false id("com.android.library") version "9.2.1" apply false + id("com.google.gms.google-services") version "4.5.0" apply false id("org.jetbrains.kotlin.android") version "2.4.0" apply false id("org.jetbrains.kotlin.plugin.compose") version "2.4.0" apply false } diff --git a/android/gradlew b/android/gradlew old mode 100644 new mode 100755 diff --git a/api/.env.docker b/api/.env.docker index 235972f4d..a6a478d59 100644 --- a/api/.env.docker +++ b/api/.env.docker @@ -4,11 +4,17 @@ ENV=local GCP_PROJECT_ID=httpsms-docker USE_HTTP_LOGGER=true +DATABASE_DEBUG_LOGS=false # Set to "true" to enable feature entitlement checks (limits for free users). # Defaults to "false" for self-hosted deployments (no limits). ENTITLEMENT_ENABLED=false +# Nasak SMS records usage for operational reports but never blocks sending +# based on plans or credits. Keep this false for the self-hosted service. +BILLING_LIMITS_ENABLED=false +PAID_FEATURES_ENABLED=false + EVENTS_QUEUE_TYPE=emulator EVENTS_QUEUE_NAME=events-local EVENTS_QUEUE_ENDPOINT=http://localhost:8000/v1/events diff --git a/api/.env.production b/api/.env.production index 49226775e..58499ea03 100644 --- a/api/.env.production +++ b/api/.env.production @@ -28,5 +28,5 @@ DATABASE_URL= REDIS_URL= -LEMONSQUEEZY_API_KEY= -LEMONSQUEEZY_SIGNING_SECRET= +# LEMONSQUEEZY_API_KEY= +# LEMONSQUEEZY_SIGNING_SECRET= diff --git a/api/Dockerfile b/api/Dockerfile index 6e6423b1d..95b328f20 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,7 +1,9 @@ FROM golang AS builder ARG GIT_COMMIT +ARG GOPROXY=https://proxy.golang.org,direct ENV GIT_COMMIT=$GIT_COMMIT +ENV GOPROXY=$GOPROXY WORKDIR /http-sms @@ -12,9 +14,7 @@ RUN go mod download COPY . . -RUN go get github.com/swaggo/swag/gen@latest -RUN go get github.com/swaggo/swag/cmd/swag@latest -RUN go install github.com/swaggo/swag/cmd/swag +RUN go install github.com/swaggo/swag/cmd/swag@v1.16.6 RUN swag init --requiredByDefault --parseDependency --parseInternal RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X main.Version=$GIT_COMMIT" -o /bin/http-sms . diff --git a/api/pkg/authlocal/token.go b/api/pkg/authlocal/token.go new file mode 100644 index 000000000..97e98e267 --- /dev/null +++ b/api/pkg/authlocal/token.go @@ -0,0 +1,62 @@ +package authlocal + +import ( + "time" + + "github.com/NdoleStudio/httpsms/pkg/entities" + "github.com/golang-jwt/jwt/v5" + "github.com/palantir/stacktrace" +) + +const issuer = "nasak-sms-local-auth" + +// Sign creates a local API bearer token for environments where Firebase auth is unreachable. +func Sign(secret string, authUser entities.AuthContext, ttl time.Duration) (string, error) { + if secret == "" { + return "", stacktrace.NewError("LOCAL_AUTH_SECRET is not configured") + } + + now := time.Now().UTC() + claims := jwt.MapClaims{ + "iss": issuer, + "sub": authUser.ID.String(), + "email": authUser.Email, + "iat": now.Unix(), + "exp": now.Add(ttl).Unix(), + } + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + return token.SignedString([]byte(secret)) +} + +// Verify validates a local bearer token and returns its auth context. +func Verify(secret string, rawToken string) (entities.AuthContext, error) { + if secret == "" { + return entities.AuthContext{}, stacktrace.NewError("LOCAL_AUTH_SECRET is not configured") + } + + token, err := jwt.Parse(rawToken, func(token *jwt.Token) (any, error) { + if token.Method != jwt.SigningMethodHS256 { + return nil, stacktrace.NewError("unexpected local auth signing method") + } + return []byte(secret), nil + }, jwt.WithIssuer(issuer)) + if err != nil || !token.Valid { + return entities.AuthContext{}, stacktrace.Propagate(err, "invalid local auth token") + } + + claims, ok := token.Claims.(jwt.MapClaims) + if !ok { + return entities.AuthContext{}, stacktrace.NewError("invalid local auth claims") + } + + userID, _ := claims.GetSubject() + email, _ := claims["email"].(string) + authUser := entities.AuthContext{ + ID: entities.UserID(userID), + Email: email, + } + if authUser.IsNoop() { + return entities.AuthContext{}, stacktrace.NewError("invalid local auth context") + } + return authUser, nil +} diff --git a/api/pkg/di/container.go b/api/pkg/di/container.go index 62fee7624..390d99c77 100644 --- a/api/pkg/di/container.go +++ b/api/pkg/di/container.go @@ -145,7 +145,11 @@ func NewContainer(projectID string, version string) (container *Container) { container.RegisterWebhookRoutes() container.RegisterWebhookListeners() - container.RegisterLemonsqueezyRoutes() + container.RegisterFirebaseEmailAuthRoutes() + + if paidFeaturesEnabled() { + container.RegisterLemonsqueezyRoutes() + } container.RegisterIntegration3CXRoutes() container.RegisterIntegration3CXListeners() @@ -248,6 +252,16 @@ func (container *Container) connect(dsn string, config *gorm.Config) (db *gorm.D return gorm.Open(postgres.Open(dsn), config) } +func (container *Container) gormConfig() *gorm.Config { + config := &gorm.Config{ + TranslateError: true, + } + if strings.EqualFold(strings.TrimSpace(os.Getenv("DATABASE_DEBUG_LOGS")), "true") { + config.Logger = container.GormLogger() + } + return config +} + // DedicatedDB creates an instance of gorm.DB if it has not been created already func (container *Container) DedicatedDB() (db *gorm.DB) { container.logger.Debug(fmt.Sprintf("creating %T", db)) @@ -255,14 +269,7 @@ func (container *Container) DedicatedDB() (db *gorm.DB) { return container.dedicatedDB } - config := &gorm.Config{ - TranslateError: true, - } - if isLocal() { - config = &gorm.Config{Logger: container.GormLogger()} - } - - db, err := container.connect(os.Getenv("DATABASE_URL_DEDICATED"), config) + db, err := container.connect(os.Getenv("DATABASE_URL_DEDICATED"), container.gormConfig()) if err != nil { container.logger.Fatal(err) } @@ -314,12 +321,7 @@ func (container *Container) DBWithoutMigration() (db *gorm.DB) { container.logger.Debug(fmt.Sprintf("creating %T", db)) - config := &gorm.Config{ - TranslateError: true, - Logger: container.GormLogger(), - } - - db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), config) + db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), container.gormConfig()) if err != nil { container.logger.Fatal(err) } @@ -339,12 +341,7 @@ func (container *Container) DB() (db *gorm.DB) { container.logger.Debug(fmt.Sprintf("creating %T", db)) - config := &gorm.Config{ - TranslateError: true, - Logger: container.GormLogger(), - } - - db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), config) + db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), container.gormConfig()) if err != nil { container.logger.Fatal(err) } @@ -382,6 +379,10 @@ ALTER TABLE discords ADD CONSTRAINT IF NOT EXISTS uni_discords_server_id CHECK ( container.logger.Fatal(stacktrace.Propagate(err, "cannot migrate %T", &entities.User{})) } + if err = db.AutoMigrate(&entities.LocalAuthCredential{}); err != nil { + container.logger.Fatal(stacktrace.Propagate(err, "cannot migrate %T", &entities.LocalAuthCredential{})) + } + if err = db.AutoMigrate(&entities.MessageSendSchedule{}); err != nil { container.logger.Fatal(stacktrace.Propagate(err, "cannot migrate %T", &entities.MessageSendSchedule{})) } @@ -1161,6 +1162,17 @@ func (container *Container) UserHandler() (handler *handlers.UserHandler) { ) } +// FirebaseEmailAuthHandler creates a new FirebaseEmailAuthHandler. +func (container *Container) FirebaseEmailAuthHandler() (handler *handlers.FirebaseEmailAuthHandler) { + container.logger.Debug(fmt.Sprintf("creating %T", handler)) + return handlers.NewFirebaseEmailAuthHandler( + container.Logger(), + container.Tracer(), + container.DB(), + container.UserRepository(), + ) +} + // PhoneHandler creates a new instance of handlers.PhoneHandler func (container *Container) PhoneHandler() (handler *handlers.PhoneHandler) { container.logger.Debug(fmt.Sprintf("creating %T", handler)) @@ -1693,7 +1705,13 @@ func (container *Container) RegisterPhoneRoutes() { // RegisterUserRoutes registers routes for the /users prefix func (container *Container) RegisterUserRoutes() { container.logger.Debug(fmt.Sprintf("registering %T routes", &handlers.UserHandler{})) - container.UserHandler().RegisterRoutes(container.App(), container.AuthenticatedMiddleware()) + container.UserHandler().RegisterRoutes(container.App(), paidFeaturesEnabled(), container.AuthenticatedMiddleware()) +} + +// RegisterFirebaseEmailAuthRoutes registers same-origin Firebase email auth routes. +func (container *Container) RegisterFirebaseEmailAuthRoutes() { + container.logger.Debug(fmt.Sprintf("registering %T routes", &handlers.FirebaseEmailAuthHandler{})) + container.FirebaseEmailAuthHandler().RegisterRoutes(container.App()) } // RegisterMessageSendScheduleRoutes registers routes for the /send-schedules prefix @@ -1718,7 +1736,7 @@ func (container *Container) RegisterSwaggerRoutes() { document.body.style.margin = '0'; var links = document.querySelectorAll("link[rel~='icon']"); links.forEach(function (link) { - link.href = 'https://httpsms.com/favicon.ico'; + link.href = '/favicon.ico'; }); });`, })) @@ -1793,6 +1811,26 @@ func (container *Container) UserRistrettoCache() *ristretto.Cache[string, entiti // InitializeTraceProvider initializes the open telemetry trace provider func (container *Container) InitializeTraceProvider() func() { + if strings.TrimSpace(os.Getenv("AXIOM_TOKEN")) == "" { + container.logger.Info("external telemetry is disabled; using local no-op providers") + tp := trace.NewTracerProvider( + trace.WithSampler(trace.NeverSample()), + trace.WithResource(container.OtelResources(container.version, container.projectID)), + ) + mp := metric.NewMeterProvider( + metric.WithResource(container.OtelResources(container.version, container.projectID)), + ) + otel.SetTracerProvider(tp) + otel.SetMeterProvider(mp) + otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator( + propagation.TraceContext{}, + propagation.Baggage{}, + )) + return func() { + _ = tp.Shutdown(context.Background()) + _ = mp.Shutdown(context.Background()) + } + } return container.initializeAxiomTraceProvider(container.version, container.projectID) } @@ -1925,7 +1963,7 @@ func logger(skipFrameCount int) telemetry.Logger { } func logDriver(skipFrameCount int) *zerodriver.Logger { - if isLocal() { + if isLocal() || strings.TrimSpace(os.Getenv("AXIOM_TOKEN")) == "" { return consoleLogger(skipFrameCount) } return axiomLogger(skipFrameCount) @@ -1977,3 +2015,7 @@ func consoleLogger(skipFrameCount int) *zerodriver.Logger { func isLocal() bool { return os.Getenv("ENV") == "local" } + +func paidFeaturesEnabled() bool { + return strings.EqualFold(strings.TrimSpace(os.Getenv("PAID_FEATURES_ENABLED")), "true") +} diff --git a/api/pkg/entities/local_auth_credential.go b/api/pkg/entities/local_auth_credential.go new file mode 100644 index 000000000..362464cfb --- /dev/null +++ b/api/pkg/entities/local_auth_credential.go @@ -0,0 +1,12 @@ +package entities + +import "time" + +// LocalAuthCredential stores password credentials for the Nasak-hosted auth fallback. +type LocalAuthCredential struct { + Email string `json:"email" gorm:"primaryKey;type:string;"` + UserID UserID `json:"user_id" gorm:"index;type:string;NOT NULL"` + PasswordHash string `json:"-" gorm:"NOT NULL"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` +} diff --git a/api/pkg/handlers/discord_handler.go b/api/pkg/handlers/discord_handler.go index 29da67a07..f05a105f2 100644 --- a/api/pkg/handlers/discord_handler.go +++ b/api/pkg/handlers/discord_handler.go @@ -160,19 +160,19 @@ func (h *DiscordHandler) Update(c fiber.Ctx) error { var request requests.DiscordUpdate if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall params [%s] into [%T]", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot decode discord update payload")) return h.responseBadRequest(c, err) } request.DiscordID = c.Params("discordID") if errors := h.validator.ValidateUpdate(ctx, request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while updating user [%+#v]", spew.Sdump(errors), request)) + ctxLogger.Warn(stacktrace.NewError("discord update validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while updating discord integration") } user, err := h.service.Update(ctx, request.ToUpdateParams(h.userFromContext(c))) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot update discord integration with params [%+#v]", request)) + ctxLogger.Error(stacktrace.Propagate(err, "cannot update discord integration")) return h.responseInternalServerError(c) } @@ -201,12 +201,12 @@ func (h *DiscordHandler) Store(c fiber.Ctx) error { var request requests.DiscordStore if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall body [%s] into [%T]", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot decode discord integration payload")) return h.responseBadRequest(c, err) } if errors := h.validator.ValidateStore(ctx, request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while storing discord integration [%+#v]", spew.Sdump(errors), request)) + ctxLogger.Warn(stacktrace.NewError("discord integration validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while storing discord integration") } @@ -223,7 +223,7 @@ func (h *DiscordHandler) Store(c fiber.Ctx) error { discordIntegration, err := h.service.Store(ctx, request.ToStoreParams(h.userFromContext(c))) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot store discord integration with params [%+#v]", request)) + ctxLogger.Error(stacktrace.Propagate(err, "cannot store discord integration")) return h.responseInternalServerError(c) } @@ -252,12 +252,10 @@ func (h *DiscordHandler) Event(c fiber.Ctx) error { var payload map[string]any if err := json.Unmarshal(c.Body(), &payload); err != nil { - ctxLogger.Error(h.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot unmarshall [%s] to [%T]", string(c.Body()), payload))) + ctxLogger.Error(h.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot decode discord event payload"))) return h.responseBadRequest(c, err) } - ctxLogger.Info(string(c.Body())) - if payload["type"].(float64) == 1 { return c.JSON(fiber.Map{"type": 1}) } @@ -329,7 +327,7 @@ func (h *DiscordHandler) sendSMS(ctx context.Context, c fiber.Ctx, payload map[s } if errors := h.messageValidator.ValidateMessageSend(ctx, discord.UserID, request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while sending payload [%s]", spew.Sdump(errors), c.Body())) + ctxLogger.Warn(stacktrace.NewError("discord message validation errors [%s]", spew.Sdump(errors))) var embeds []fiber.Map for _, value := range errors { @@ -370,7 +368,7 @@ func (h *DiscordHandler) sendSMS(ctx context.Context, c fiber.Ctx, payload map[s message, err := h.messageService.SendMessage(ctx, request.ToMessageSendParams(discord.UserID, c.OriginalURL())) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot send message with paylod [%s] from discord server [%s]", c.Body(), discord.ServerID)) + ctxLogger.Error(stacktrace.Propagate(err, "cannot send message from discord server [%s]", discord.ServerID)) return c.JSON( fiber.Map{ "type": 4, diff --git a/api/pkg/handlers/firebase_email_auth_handler.go b/api/pkg/handlers/firebase_email_auth_handler.go new file mode 100644 index 000000000..a4ecaccaf --- /dev/null +++ b/api/pkg/handlers/firebase_email_auth_handler.go @@ -0,0 +1,426 @@ +package handlers + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net" + "net/http" + "net/mail" + "net/url" + "os" + "strings" + "time" + + "github.com/NdoleStudio/httpsms/pkg/authlocal" + "github.com/NdoleStudio/httpsms/pkg/entities" + "github.com/NdoleStudio/httpsms/pkg/repositories" + "github.com/NdoleStudio/httpsms/pkg/requests" + "github.com/NdoleStudio/httpsms/pkg/responses" + "github.com/NdoleStudio/httpsms/pkg/telemetry" + "github.com/gofiber/fiber/v3" + "github.com/google/uuid" + "github.com/palantir/stacktrace" + "golang.org/x/crypto/bcrypt" + "golang.org/x/net/proxy" + "gorm.io/gorm" +) + +// FirebaseEmailAuthHandler proxies email auth through the API server. +type FirebaseEmailAuthHandler struct { + handler + logger telemetry.Logger + tracer telemetry.Tracer + db *gorm.DB + userRepository repositories.UserRepository + client *http.Client +} + +// NewFirebaseEmailAuthHandler creates a FirebaseEmailAuthHandler. +func NewFirebaseEmailAuthHandler(logger telemetry.Logger, tracer telemetry.Tracer, db *gorm.DB, userRepository repositories.UserRepository) *FirebaseEmailAuthHandler { + logger = logger.WithService("handlers.FirebaseEmailAuthHandler") + return &FirebaseEmailAuthHandler{ + logger: logger, + tracer: tracer, + db: db, + userRepository: userRepository, + client: &http.Client{ + Timeout: 20 * time.Second, + Transport: firebaseAuthTransport(logger), + }, + } +} + +// RegisterRoutes registers public Firebase email auth proxy routes. +func (h *FirebaseEmailAuthHandler) RegisterRoutes(router fiber.Router) { + router.Post("/v1/auth/email", h.Authenticate) + router.Post("/v1/auth/email/refresh", h.Refresh) +} + +// Authenticate signs a user in or creates an account through Firebase Identity Toolkit. +func (h *FirebaseEmailAuthHandler) Authenticate(c fiber.Ctx) error { + _, span, ctxLogger := h.tracer.StartFromFiberCtxWithLogger(c, h.logger) + defer span.End() + + var request requests.FirebaseEmailAuthRequest + if err := c.Bind().Body(&request); err != nil { + ctxLogger.Warn(stacktrace.Propagate(err, "cannot parse firebase email auth request")) + return h.responseBadRequest(c, err) + } + request = request.Sanitize() + + if errors := validateFirebaseEmailAuth(request); len(errors) != 0 { + return h.responseUnprocessableEntity(c, errors, "validation errors while authenticating") + } + + endpoint := "accounts:signInWithPassword" + if request.Mode == "sign_up" { + endpoint = "accounts:signUp" + } + + authResponse, status, err := h.callIdentityToolkit(endpoint, map[string]any{ + "email": request.Email, + "password": request.Password, + "returnSecureToken": true, + }) + if err != nil { + ctxLogger.Warn(stacktrace.Propagate(err, "firebase email auth failed with status [%d], trying local auth", status)) + localResponse, localErr := h.authenticateLocally(c.Context(), request) + if localErr != nil { + ctxLogger.Warn(stacktrace.Propagate(localErr, "local email auth failed after firebase status [%d]", status)) + return h.firebaseError(c, status, err) + } + return h.responseOK(c, "local email authentication successful", localResponse) + } + + return h.responseOK(c, "firebase email authentication successful", authResponse) +} + +// Refresh exchanges a Firebase refresh token for a new ID token. +func (h *FirebaseEmailAuthHandler) Refresh(c fiber.Ctx) error { + _, span, ctxLogger := h.tracer.StartFromFiberCtxWithLogger(c, h.logger) + defer span.End() + + var request requests.FirebaseEmailRefreshRequest + if err := c.Bind().Body(&request); err != nil { + ctxLogger.Warn(stacktrace.Propagate(err, "cannot parse firebase email refresh request")) + return h.responseBadRequest(c, err) + } + if strings.TrimSpace(request.RefreshToken) == "" { + errors := url.Values{} + errors.Add("refresh_token", "refresh token is required") + return h.responseUnprocessableEntity(c, errors, "validation errors while refreshing authentication") + } + + authResponse, status, err := h.callSecureToken(map[string]string{ + "grant_type": "refresh_token", + "refresh_token": request.RefreshToken, + }) + if err != nil { + ctxLogger.Warn(stacktrace.Propagate(err, "firebase email token refresh failed with status [%d], trying local auth", status)) + localResponse, localErr := h.refreshLocalToken(request.RefreshToken) + if localErr != nil { + ctxLogger.Warn(stacktrace.Propagate(localErr, "local token refresh failed after firebase status [%d]", status)) + return h.firebaseError(c, status, err) + } + return h.responseOK(c, "local email token refreshed successfully", localResponse) + } + + return h.responseOK(c, "firebase email token refreshed successfully", authResponse) +} + +func (h *FirebaseEmailAuthHandler) authenticateLocally(ctx context.Context, request requests.FirebaseEmailAuthRequest) (*responses.FirebaseEmailAuthResponse, error) { + if strings.TrimSpace(os.Getenv("LOCAL_AUTH_SECRET")) == "" { + return nil, stacktrace.NewError("LOCAL_AUTH_SECRET is not configured") + } + + credential := new(entities.LocalAuthCredential) + err := h.db.WithContext(ctx).Where("email = ?", request.Email).First(credential).Error + if err == nil { + if bcrypt.CompareHashAndPassword([]byte(credential.PasswordHash), []byte(request.Password)) != nil { + return nil, stacktrace.NewError("invalid local email or password") + } + return h.localAuthResponse(entities.AuthContext{ID: credential.UserID, Email: request.Email}) + } + if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { + return nil, stacktrace.Propagate(err, "cannot load local auth credential") + } + if request.Mode != "sign_up" { + return nil, stacktrace.NewError("local auth credential does not exist") + } + + passwordHash, err := bcrypt.GenerateFromPassword([]byte(request.Password), bcrypt.DefaultCost) + if err != nil { + return nil, stacktrace.Propagate(err, "cannot hash local auth password") + } + authUser := entities.AuthContext{ + ID: entities.UserID("local:" + uuid.NewString()), + Email: request.Email, + } + if existingUser, loadErr := h.userRepository.LoadByEmail(ctx, request.Email); loadErr == nil { + authUser.ID = existingUser.ID + } + if _, _, err = h.userRepository.LoadOrStore(ctx, authUser); err != nil { + return nil, stacktrace.Propagate(err, "cannot create local auth user") + } + + credential = &entities.LocalAuthCredential{ + Email: request.Email, + UserID: authUser.ID, + PasswordHash: string(passwordHash), + } + if err = h.db.WithContext(ctx).Create(credential).Error; err != nil { + return nil, stacktrace.Propagate(err, "cannot save local auth credential") + } + + return h.localAuthResponse(authUser) +} + +func (h *FirebaseEmailAuthHandler) refreshLocalToken(rawToken string) (*responses.FirebaseEmailAuthResponse, error) { + authUser, err := authlocal.Verify(os.Getenv("LOCAL_AUTH_SECRET"), rawToken) + if err != nil { + return nil, err + } + return h.localAuthResponse(authUser) +} + +func (h *FirebaseEmailAuthHandler) localAuthResponse(authUser entities.AuthContext) (*responses.FirebaseEmailAuthResponse, error) { + const ttl = 7 * 24 * time.Hour + token, err := authlocal.Sign(os.Getenv("LOCAL_AUTH_SECRET"), authUser, ttl) + if err != nil { + return nil, err + } + return &responses.FirebaseEmailAuthResponse{ + IDToken: token, + RefreshToken: token, + ExpiresIn: fmt.Sprintf("%.0f", ttl.Seconds()), + LocalID: authUser.ID.String(), + Email: authUser.Email, + }, nil +} + +func validateFirebaseEmailAuth(request requests.FirebaseEmailAuthRequest) url.Values { + errors := url.Values{} + if _, err := mail.ParseAddress(request.Email); err != nil { + errors.Add("email", "please enter a valid email address") + } + if len(request.Password) < 6 { + errors.Add("password", "password should be at least 6 characters") + } + if request.Mode != "sign_in" && request.Mode != "sign_up" { + errors.Add("mode", "mode should be sign_in or sign_up") + } + return errors +} + +func (h *FirebaseEmailAuthHandler) callIdentityToolkit(endpoint string, payload map[string]any) (*responses.FirebaseEmailAuthResponse, int, error) { + apiKey := strings.TrimSpace(os.Getenv("FIREBASE_API_KEY")) + if apiKey == "" { + return nil, fiber.StatusServiceUnavailable, stacktrace.NewError("FIREBASE_API_KEY is not configured") + } + + body, err := json.Marshal(payload) + if err != nil { + return nil, fiber.StatusInternalServerError, stacktrace.Propagate(err, "cannot marshal firebase auth payload") + } + + request, err := http.NewRequest(http.MethodPost, fmt.Sprintf("https://identitytoolkit.googleapis.com/v1/%s?key=%s", endpoint, url.QueryEscape(apiKey)), bytes.NewReader(body)) + if err != nil { + return nil, fiber.StatusInternalServerError, stacktrace.Propagate(err, "cannot create firebase auth request") + } + request.Header.Set("Content-Type", "application/json") + setFirebaseBrowserHeaders(request) + + return h.doFirebaseRequest(request) +} + +func (h *FirebaseEmailAuthHandler) callSecureToken(form map[string]string) (*responses.FirebaseEmailAuthResponse, int, error) { + apiKey := strings.TrimSpace(os.Getenv("FIREBASE_API_KEY")) + if apiKey == "" { + return nil, fiber.StatusServiceUnavailable, stacktrace.NewError("FIREBASE_API_KEY is not configured") + } + + values := url.Values{} + for key, value := range form { + values.Set(key, value) + } + + request, err := http.NewRequest(http.MethodPost, fmt.Sprintf("https://securetoken.googleapis.com/v1/token?key=%s", url.QueryEscape(apiKey)), strings.NewReader(values.Encode())) + if err != nil { + return nil, fiber.StatusInternalServerError, stacktrace.Propagate(err, "cannot create firebase token refresh request") + } + request.Header.Set("Content-Type", "application/x-www-form-urlencoded") + setFirebaseBrowserHeaders(request) + + return h.doFirebaseRequest(request) +} + +func (h *FirebaseEmailAuthHandler) doFirebaseRequest(request *http.Request) (*responses.FirebaseEmailAuthResponse, int, error) { + response, err := h.client.Do(request) + if err != nil { + if strings.TrimSpace(os.Getenv("FIREBASE_AUTH_PROXY_URL")) == "" { + return nil, fiber.StatusBadGateway, stacktrace.Propagate(err, "cannot reach firebase authentication service") + } + + retryRequest, retryErr := cloneFirebaseRequest(request) + if retryErr != nil { + return nil, fiber.StatusBadGateway, stacktrace.Propagate(err, "cannot reach firebase authentication service") + } + response, err = (&http.Client{Timeout: 20 * time.Second}).Do(retryRequest) + if err != nil { + return nil, fiber.StatusBadGateway, stacktrace.Propagate(err, "cannot reach firebase authentication service") + } + } + defer response.Body.Close() + + data, err := io.ReadAll(io.LimitReader(response.Body, 1<<20)) + if err != nil { + return nil, fiber.StatusBadGateway, stacktrace.Propagate(err, "cannot read firebase authentication response") + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return nil, response.StatusCode, stacktrace.NewError("firebase authentication rejected the request: %s", firebaseSafeError(data)) + } + + var firebaseResponse struct { + IDToken string `json:"idToken"` + RefreshToken string `json:"refreshToken"` + ExpiresIn string `json:"expiresIn"` + LocalID string `json:"localId"` + Email string `json:"email"` + } + if err := json.Unmarshal(data, &firebaseResponse); err != nil { + return nil, fiber.StatusBadGateway, stacktrace.Propagate(err, "cannot decode firebase authentication response") + } + + return &responses.FirebaseEmailAuthResponse{ + IDToken: firebaseResponse.IDToken, + RefreshToken: firebaseResponse.RefreshToken, + ExpiresIn: firebaseResponse.ExpiresIn, + LocalID: firebaseResponse.LocalID, + Email: firebaseResponse.Email, + }, response.StatusCode, nil +} + +func cloneFirebaseRequest(request *http.Request) (*http.Request, error) { + if request.GetBody == nil { + return nil, stacktrace.NewError("firebase auth request body cannot be replayed") + } + body, err := request.GetBody() + if err != nil { + return nil, stacktrace.Propagate(err, "cannot replay firebase auth request body") + } + clone := request.Clone(request.Context()) + clone.Body = body + return clone, nil +} + +func setFirebaseBrowserHeaders(request *http.Request) { + referer := strings.TrimSpace(os.Getenv("FIREBASE_AUTH_REFERER_URL")) + if referer == "" { + referer = strings.TrimSpace(os.Getenv("APP_URL")) + } + if referer == "" { + referer = "https://sms.nasak.ir" + } + if !strings.HasSuffix(referer, "/") { + referer += "/" + } + request.Header.Set("Origin", strings.TrimRight(referer, "/")) + request.Header.Set("Referer", referer) + request.Header.Set("User-Agent", "NasakSMS/1.0") +} + +func firebaseSafeError(data []byte) string { + var payload struct { + Error struct { + Message string `json:"message"` + } `json:"error"` + } + if err := json.Unmarshal(data, &payload); err != nil || payload.Error.Message == "" { + return "unknown firebase error" + } + return payload.Error.Message +} + +func (h *FirebaseEmailAuthHandler) firebaseError(c fiber.Ctx, status int, err error) error { + if status == fiber.StatusServiceUnavailable || status == fiber.StatusBadGateway { + return c.Status(status).JSON(fiber.Map{ + "status": "error", + "message": "Authentication service is temporarily unavailable.", + }) + } + return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{ + "status": "error", + "message": firebaseClientMessage(err.Error()), + }) +} + +func firebaseClientMessage(message string) string { + switch { + case strings.Contains(message, "EMAIL_NOT_FOUND"): + return "No account found with this email address." + case strings.Contains(message, "INVALID_PASSWORD"), strings.Contains(message, "INVALID_LOGIN_CREDENTIALS"): + return "Invalid email or password." + case strings.Contains(message, "EMAIL_EXISTS"): + return "An account already exists with this email." + case strings.Contains(message, "WEAK_PASSWORD"): + return "Password should be at least 6 characters." + case strings.Contains(message, "USER_DISABLED"): + return "This account has been disabled." + case strings.Contains(message, "TOO_MANY_ATTEMPTS_TRY_LATER"): + return "Too many failed attempts. Please try again later." + default: + return "Authentication failed. Please check your email and password." + } +} + +func firebaseAuthTransport(logger telemetry.Logger) http.RoundTripper { + proxyURL := strings.TrimSpace(os.Getenv("FIREBASE_AUTH_PROXY_URL")) + if proxyURL == "" { + return http.DefaultTransport + } + + parsedURL, err := url.Parse(proxyURL) + if err != nil { + logger.Warn(stacktrace.Propagate(err, "invalid FIREBASE_AUTH_PROXY_URL")) + return http.DefaultTransport + } + + switch parsedURL.Scheme { + case "http", "https": + return &http.Transport{Proxy: http.ProxyURL(parsedURL)} + case "socks5", "socks5h": + dialer, err := proxy.FromURL(parsedURL, proxy.Direct) + if err != nil { + logger.Warn(stacktrace.Propagate(err, "cannot configure firebase auth SOCKS proxy")) + return http.DefaultTransport + } + return &http.Transport{ + DialContext: func(ctx context.Context, network string, address string) (net.Conn, error) { + type result struct { + conn net.Conn + err error + } + done := make(chan result, 1) + go func() { + conn, err := dialer.Dial(network, address) + done <- result{conn: conn, err: err} + }() + + select { + case <-ctx.Done(): + return nil, ctx.Err() + case result := <-done: + return result.conn, result.err + } + }, + } + default: + logger.Warn(stacktrace.NewError("unsupported FIREBASE_AUTH_PROXY_URL scheme [%s]", parsedURL.Scheme)) + return http.DefaultTransport + } +} diff --git a/api/pkg/handlers/integration_3cx_handler.go b/api/pkg/handlers/integration_3cx_handler.go index e53213f42..5eb060f85 100644 --- a/api/pkg/handlers/integration_3cx_handler.go +++ b/api/pkg/handlers/integration_3cx_handler.go @@ -4,7 +4,6 @@ import ( "fmt" "github.com/NdoleStudio/httpsms/pkg/requests" - "github.com/davecgh/go-spew/spew" "github.com/NdoleStudio/httpsms/pkg/services" "github.com/NdoleStudio/httpsms/pkg/telemetry" @@ -58,11 +57,9 @@ func (h *Integration3CXHandler) Messages(c fiber.Ctx) error { ctx, span, ctxLogger := h.tracer.StartFromFiberCtxWithLogger(c, h.logger) defer span.End() - spew.Dump(string(c.Body())) - var request requests.Integration3CXMessage if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall [%s] into %T", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot decode 3cx message payload")) return h.responseBadRequest(c, err) } @@ -74,7 +71,7 @@ func (h *Integration3CXHandler) Messages(c fiber.Ctx) error { request.Sanitize() message, err := h.messageService.SendMessage(ctx, request.ToMessageSendParams(h.userIDFomContext(c), c.OriginalURL())) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot send [3cx] message with payload [%s]", c.Body())) + ctxLogger.Error(stacktrace.Propagate(err, "cannot send 3cx message")) return h.responseInternalServerError(c) } diff --git a/api/pkg/handlers/message_handler.go b/api/pkg/handlers/message_handler.go index 542fc7d04..458281ecf 100644 --- a/api/pkg/handlers/message_handler.go +++ b/api/pkg/handlers/message_handler.go @@ -88,12 +88,12 @@ func (h *MessageHandler) PostSend(c fiber.Ctx) error { var request requests.MessageSend if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall [%s] into %T", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot parse message send request")) return h.responseBadRequest(c, err) } if errors := h.validator.ValidateMessageSend(ctx, h.userIDFomContext(c), request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while sending payload [%s]", spew.Sdump(errors), c.Body())) + ctxLogger.Warn(stacktrace.NewError("message send validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while sending message") } @@ -104,7 +104,7 @@ func (h *MessageHandler) PostSend(c fiber.Ctx) error { message, err := h.service.SendMessage(ctx, request.ToMessageSendParams(h.userIDFomContext(c), c.OriginalURL())) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot send message with paylod [%s]", c.Body())) + ctxLogger.Error(stacktrace.Propagate(err, "cannot queue message")) return h.responseInternalServerError(c) } @@ -133,12 +133,12 @@ func (h *MessageHandler) BulkSend(c fiber.Ctx) error { var request requests.MessageBulkSend if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall [%s] into %T", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot parse bulk message request")) return h.responseBadRequest(c, err) } if errors := h.validator.ValidateMessageBulkSend(ctx, h.userIDFomContext(c), request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while sending payload [%s]", spew.Sdump(errors), c.Body())) + ctxLogger.Warn(stacktrace.NewError("bulk message validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while sending messages") } @@ -286,7 +286,7 @@ func (h *MessageHandler) PostEvent(c fiber.Ctx) error { var request requests.MessageEvent if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall [%s] into %T", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot parse message event request")) return h.responseBadRequest(c, err) } @@ -296,7 +296,7 @@ func (h *MessageHandler) PostEvent(c fiber.Ctx) error { } if errors := h.validator.ValidateMessageEvent(ctx, request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while storing event [%s] for message [%s]", spew.Sdump(errors), c.Body(), request.MessageID)) + ctxLogger.Warn(stacktrace.NewError("message event validation errors [%s] for message [%s]", spew.Sdump(errors), request.MessageID)) return h.responseUnprocessableEntity(c, errors, "validation errors while storing event") } @@ -317,7 +317,7 @@ func (h *MessageHandler) PostEvent(c fiber.Ctx) error { message, err = h.service.StoreEvent(ctx, message, request.ToMessageStoreEventParams(c.OriginalURL())) if err != nil { - ctxLogger.Error(h.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot store event for message [%s] with paylod [%s]", request.MessageID, c.Body()))) + ctxLogger.Error(h.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot store event for message [%s]", request.MessageID))) return h.responseInternalServerError(c) } @@ -345,12 +345,12 @@ func (h *MessageHandler) PostReceive(c fiber.Ctx) error { var request requests.MessageReceive if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall [%s] into %T", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot parse incoming message request")) return h.responseBadRequest(c, err) } if errors := h.validator.ValidateMessageReceive(ctx, request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while sending payload [%s]", spew.Sdump(errors), c.Body())) + ctxLogger.Warn(stacktrace.NewError("incoming message validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while receiving message") } @@ -366,7 +366,7 @@ func (h *MessageHandler) PostReceive(c fiber.Ctx) error { message, err := h.service.ReceiveMessage(ctx, request.ToMessageReceiveParams(h.userIDFomContext(c), c.OriginalURL())) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot receive message with payload [%s]", c.Body())) + ctxLogger.Error(stacktrace.Propagate(err, "cannot store incoming message")) return h.responseInternalServerError(c) } @@ -481,12 +481,12 @@ func (h *MessageHandler) PostCallMissed(c fiber.Ctx) error { var request requests.MessageCallMissed if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall [%s] into %T", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot parse missed call request")) return h.responseBadRequest(c, err) } if errors := h.validator.ValidateCallMissed(ctx, request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], for missed call event [%s]", spew.Sdump(errors), c.Body())) + ctxLogger.Warn(stacktrace.NewError("missed call validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while storing missed call event") } @@ -497,7 +497,7 @@ func (h *MessageHandler) PostCallMissed(c fiber.Ctx) error { message, err := h.service.RegisterMissedCall(ctx, request.ToCallMissedParams(h.userIDFomContext(c), c.OriginalURL())) if err != nil { - ctxLogger.Error(h.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot store missed call event for user [%s] with paylod [%s]", h.userIDFomContext(c), c.Body()))) + ctxLogger.Error(h.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot store missed call event for user [%s]", h.userIDFomContext(c)))) return h.responseInternalServerError(c) } diff --git a/api/pkg/handlers/user_handler.go b/api/pkg/handlers/user_handler.go index b7066aa3f..3a6db81ce 100644 --- a/api/pkg/handlers/user_handler.go +++ b/api/pkg/handlers/user_handler.go @@ -39,12 +39,15 @@ func NewUserHandler( } // RegisterRoutes registers the routes for the MessageHandler -func (h *UserHandler) RegisterRoutes(router fiber.Router, middlewares ...fiber.Handler) { +func (h *UserHandler) RegisterRoutes(router fiber.Router, paidFeatures bool, middlewares ...fiber.Handler) { h.register(router, fiber.MethodGet, "/v1/users/me", middlewares, h.Show) h.register(router, fiber.MethodPut, "/v1/users/me", middlewares, h.Update) h.register(router, fiber.MethodDelete, "/v1/users/me", middlewares, h.Delete) h.register(router, fiber.MethodDelete, "/v1/users/:userID/api-keys", middlewares, h.DeleteAPIKey) h.register(router, fiber.MethodPut, "/v1/users/:userID/notifications", middlewares, h.UpdateNotifications) + if !paidFeatures { + return + } h.register(router, fiber.MethodGet, "/v1/users/subscription-update-url", middlewares, h.subscriptionUpdateURL) h.register(router, fiber.MethodDelete, "/v1/users/subscription", middlewares, h.cancelSubscription) h.register(router, fiber.MethodGet, "/v1/users/subscription/payments", middlewares, h.subscriptionPayments) diff --git a/api/pkg/handlers/webhook_handler.go b/api/pkg/handlers/webhook_handler.go index 656d59ea0..1c59090f8 100644 --- a/api/pkg/handlers/webhook_handler.go +++ b/api/pkg/handlers/webhook_handler.go @@ -143,12 +143,12 @@ func (h *WebhookHandler) Store(c fiber.Ctx) error { var request requests.WebhookStore if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall body [%s] into [%T]", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot decode webhook payload")) return h.responseBadRequest(c, err) } if errors := h.validator.ValidateStore(ctx, h.userIDFomContext(c), request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while storing webhook [%+#v]", spew.Sdump(errors), request)) + ctxLogger.Warn(stacktrace.NewError("webhook validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while storing webhook") } @@ -165,7 +165,7 @@ func (h *WebhookHandler) Store(c fiber.Ctx) error { webhook, err := h.service.Store(ctx, request.ToStoreParams(h.userFromContext(c))) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot store webhoook with params [%+#v]", request)) + ctxLogger.Error(stacktrace.Propagate(err, "cannot store webhook")) return h.responseInternalServerError(c) } @@ -193,19 +193,19 @@ func (h *WebhookHandler) Update(c fiber.Ctx) error { var request requests.WebhookUpdate if err := c.Bind().Body(&request); err != nil { - ctxLogger.Warn(stacktrace.Propagate(err, "cannot marshall params [%s] into [%T]", c.Body(), request)) + ctxLogger.Warn(stacktrace.Propagate(err, "cannot decode webhook update payload")) return h.responseBadRequest(c, err) } request.WebhookID = c.Params("webhookID") if errors := h.validator.ValidateUpdate(ctx, h.userIDFomContext(c), request.Sanitize()); len(errors) != 0 { - ctxLogger.Warn(stacktrace.NewError("validation errors [%s], while updating user [%+#v]", spew.Sdump(errors), request)) + ctxLogger.Warn(stacktrace.NewError("webhook update validation errors [%s]", spew.Sdump(errors))) return h.responseUnprocessableEntity(c, errors, "validation errors while updating webhook") } user, err := h.service.Update(ctx, request.ToUpdateParams(h.userFromContext(c))) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot update user with params [%+#v]", request)) + ctxLogger.Error(stacktrace.Propagate(err, "cannot update webhook")) return h.responseInternalServerError(c) } diff --git a/api/pkg/middlewares/api_key_auth_middleware.go b/api/pkg/middlewares/api_key_auth_middleware.go index 0d65be307..783cbb3c8 100644 --- a/api/pkg/middlewares/api_key_auth_middleware.go +++ b/api/pkg/middlewares/api_key_auth_middleware.go @@ -28,7 +28,7 @@ func APIKeyAuth(logger telemetry.Logger, tracer telemetry.Tracer, userRepository authUser, err := userRepository.LoadAuthContext(ctx, apiKey) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot load user with api key [%s]", apiKey)) + ctxLogger.Error(stacktrace.Propagate(err, "cannot load user from API key")) return c.Next() } diff --git a/api/pkg/middlewares/bearer_api_key_auth_middleware.go b/api/pkg/middlewares/bearer_api_key_auth_middleware.go index 7806aa7d0..83794b4b0 100644 --- a/api/pkg/middlewares/bearer_api_key_auth_middleware.go +++ b/api/pkg/middlewares/bearer_api_key_auth_middleware.go @@ -26,7 +26,7 @@ func BearerAPIKeyAuth(logger telemetry.Logger, tracer telemetry.Tracer, userRepo authUser, err := userRepository.LoadAuthContext(ctx, apiKey) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot load user with api key [%s] using header [%s]", apiKey, c.Get(authHeaderBearer))) + ctxLogger.Error(stacktrace.Propagate(err, "cannot load user with bearer api key")) return c.Next() } diff --git a/api/pkg/middlewares/bearer_auth_middleware.go b/api/pkg/middlewares/bearer_auth_middleware.go index 1573413c3..f0258a884 100644 --- a/api/pkg/middlewares/bearer_auth_middleware.go +++ b/api/pkg/middlewares/bearer_auth_middleware.go @@ -3,9 +3,11 @@ package middlewares import ( "context" "fmt" + "os" "strings" "firebase.google.com/go/auth" + "github.com/NdoleStudio/httpsms/pkg/authlocal" "github.com/NdoleStudio/httpsms/pkg/entities" "github.com/NdoleStudio/httpsms/pkg/telemetry" "github.com/gofiber/fiber/v3" @@ -31,9 +33,15 @@ func BearerAuth(logger telemetry.Logger, tracer telemetry.Tracer, authClient *au ctxLogger := tracer.CtxLogger(logger, span) + if authUser, err := authlocal.Verify(os.Getenv("LOCAL_AUTH_SECRET"), authToken); err == nil { + span.AddEvent(fmt.Sprintf("[%s] local token is valid", bearerScheme)) + c.Locals(ContextKeyAuthUserID, authUser) + return c.Next() + } + token, err := authClient.VerifyIDToken(context.Background(), authToken) if err != nil { - ctxLogger.Warn(tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "invalid firebase id token [%s]", authToken))) + ctxLogger.Warn(tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "invalid firebase id token"))) return c.Next() } diff --git a/api/pkg/middlewares/http_request_logger_middleware.go b/api/pkg/middlewares/http_request_logger_middleware.go index 388c02917..78fd0fa08 100644 --- a/api/pkg/middlewares/http_request_logger_middleware.go +++ b/api/pkg/middlewares/http_request_logger_middleware.go @@ -3,6 +3,7 @@ package middlewares import ( "fmt" "slices" + "strings" "github.com/NdoleStudio/httpsms/pkg/telemetry" "github.com/gofiber/fiber/v3" @@ -23,10 +24,20 @@ func HTTPRequestLogger(tracer telemetry.Tracer, logger telemetry.Logger) fiber.H statusCode := c.Response().StatusCode() span.AddEvent(fmt.Sprintf("finished handling request with traceID: [%s], statusCode: [%d]", span.SpanContext().TraceID().String(), statusCode)) - if statusCode >= 300 && len(c.Request().Body()) > 0 && !slices.Contains([]int{401, 402}, statusCode) { + if statusCode >= 300 && len(c.Request().Body()) > 0 && !slices.Contains([]int{401, 402}, statusCode) && !isSensitiveRequestPath(c.Path()) { ctxLogger.WithString("client.version", c.Get(clientVersionHeader)).Warn(stacktrace.NewError("http.status [%d], body [%s]", statusCode, string(c.Request().Body()))) } return response } } + +func isSensitiveRequestPath(path string) bool { + path = strings.ToLower(path) + return strings.Contains(path, "/auth/") || + strings.Contains(path, "/api-keys") || + strings.Contains(path, "/messages") || + strings.Contains(path, "/webhooks") || + strings.Contains(path, "/password") || + strings.Contains(path, "/tokens") +} diff --git a/api/pkg/middlewares/phone_api_key_auth_middleware.go b/api/pkg/middlewares/phone_api_key_auth_middleware.go index 5fb01c5ba..be59bab74 100644 --- a/api/pkg/middlewares/phone_api_key_auth_middleware.go +++ b/api/pkg/middlewares/phone_api_key_auth_middleware.go @@ -26,7 +26,7 @@ func PhoneAPIKeyAuth(logger telemetry.Logger, tracer telemetry.Tracer, repositor authUser, err := repository.LoadAuthContext(ctx, apiKey) if err != nil { - ctxLogger.Error(stacktrace.Propagate(err, "cannot load user with phone api key [%s]", apiKey)) + ctxLogger.Error(stacktrace.Propagate(err, "cannot load user with phone api key")) return c.Next() } diff --git a/api/pkg/repositories/gorm_phone_api_key_repository.go b/api/pkg/repositories/gorm_phone_api_key_repository.go index 7f912b28b..8fc5e9887 100644 --- a/api/pkg/repositories/gorm_phone_api_key_repository.go +++ b/api/pkg/repositories/gorm_phone_api_key_repository.go @@ -117,11 +117,11 @@ func (repository *gormPhoneAPIKeyRepository) LoadAuthContext(ctx context.Context phoneAPIKey := new(entities.PhoneAPIKey) err := repository.db.WithContext(ctx).Where("api_key = ?", apiKey).First(phoneAPIKey).Error if errors.Is(err, gorm.ErrRecordNotFound) { - return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.PropagateWithCode(err, ErrCodeNotFound, "phone api key [%s] does not exist", apiKey)) + return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.PropagateWithCode(err, ErrCodeNotFound, "phone api key does not exist")) } if err != nil { - return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot load phone api key [%s]", apiKey)) + return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot load phone api key")) } authUser := entities.AuthContext{ diff --git a/api/pkg/repositories/gorm_user_repository.go b/api/pkg/repositories/gorm_user_repository.go index a2c95e5ef..9ff3a9d45 100644 --- a/api/pkg/repositories/gorm_user_repository.go +++ b/api/pkg/repositories/gorm_user_repository.go @@ -160,7 +160,7 @@ func (repository *gormUserRepository) LoadAuthContext(ctx context.Context, apiKe if authUser, found := repository.cache.Get(apiKey); found { if authUser.IsNoop() { - return authUser, repository.tracer.WrapErrorSpan(span, stacktrace.NewError("user with api key [%s] does not exist", apiKey)) + return authUser, repository.tracer.WrapErrorSpan(span, stacktrace.NewError("user for api key does not exist")) } return authUser, nil } @@ -170,11 +170,11 @@ func (repository *gormUserRepository) LoadAuthContext(ctx context.Context, apiKe if errors.Is(err, gorm.ErrRecordNotFound) { repository.cache.SetWithTTL(apiKey, entities.AuthContext{}, 1, 2*time.Hour) - return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.PropagateWithCode(err, ErrCodeNotFound, "user with api key [%s] does not exist", apiKey)) + return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.PropagateWithCode(err, ErrCodeNotFound, "user for api key does not exist")) } if err != nil { - return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot load user with api key [%s]", apiKey)) + return entities.AuthContext{}, repository.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot load user with api key")) } authUser := entities.AuthContext{ diff --git a/api/pkg/requests/firebase_email_auth_request.go b/api/pkg/requests/firebase_email_auth_request.go new file mode 100644 index 000000000..1eb78d798 --- /dev/null +++ b/api/pkg/requests/firebase_email_auth_request.go @@ -0,0 +1,22 @@ +package requests + +import "strings" + +// FirebaseEmailAuthRequest contains email/password auth credentials. +type FirebaseEmailAuthRequest struct { + Email string `json:"email"` + Password string `json:"password"` + Mode string `json:"mode"` +} + +// Sanitize trims user-controlled auth fields without logging secrets. +func (request FirebaseEmailAuthRequest) Sanitize() FirebaseEmailAuthRequest { + request.Email = strings.ToLower(strings.TrimSpace(request.Email)) + request.Mode = strings.ToLower(strings.TrimSpace(request.Mode)) + return request +} + +// FirebaseEmailRefreshRequest contains a Firebase refresh token. +type FirebaseEmailRefreshRequest struct { + RefreshToken string `json:"refresh_token"` +} diff --git a/api/pkg/responses/firebase_email_auth_responses.go b/api/pkg/responses/firebase_email_auth_responses.go new file mode 100644 index 000000000..b1e9e5732 --- /dev/null +++ b/api/pkg/responses/firebase_email_auth_responses.go @@ -0,0 +1,10 @@ +package responses + +// FirebaseEmailAuthResponse is returned by the same-origin email auth proxy. +type FirebaseEmailAuthResponse struct { + IDToken string `json:"id_token"` + RefreshToken string `json:"refresh_token"` + ExpiresIn string `json:"expires_in"` + LocalID string `json:"local_id"` + Email string `json:"email"` +} diff --git a/api/pkg/services/billing_service.go b/api/pkg/services/billing_service.go index 262067130..822bed6d1 100644 --- a/api/pkg/services/billing_service.go +++ b/api/pkg/services/billing_service.go @@ -3,6 +3,9 @@ package services import ( "context" "fmt" + "os" + "strconv" + "strings" "time" "github.com/NdoleStudio/httpsms/pkg/cache" @@ -15,6 +18,18 @@ import ( "github.com/palantir/stacktrace" ) +// billingLimitsEnabled is opt-in for compatibility with the upstream project. +// Nasak SMS is self-hosted and unlimited by default: usage records are retained +// for operational reporting, but they never become credits or a send quota. +func billingLimitsEnabled() bool { + value := strings.TrimSpace(os.Getenv("BILLING_LIMITS_ENABLED")) + if value == "" { + return false + } + enabled, err := strconv.ParseBool(value) + return err == nil && enabled +} + // BillingService is responsible for tracking usages and billing users type BillingService struct { service @@ -50,6 +65,10 @@ func NewBillingService( // IsEntitledWithCount checks if a user can send or receive and SMS message func (service *BillingService) IsEntitledWithCount(ctx context.Context, userID entities.UserID, count uint) *string { + if !billingLimitsEnabled() { + return nil + } + ctx, span, ctxLogger := service.tracer.StartWithLogger(ctx, service.logger) defer span.End() @@ -179,6 +198,10 @@ func (service *BillingService) DeleteAllForUser(ctx context.Context, userID enti } func (service *BillingService) sendUsageAlert(ctx context.Context, userID entities.UserID) { + if !billingLimitsEnabled() { + return + } + ctx, span, ctxLogger := service.tracer.StartWithLogger(ctx, service.logger) defer span.End() diff --git a/api/pkg/services/billing_service_test.go b/api/pkg/services/billing_service_test.go new file mode 100644 index 000000000..7ebc7d124 --- /dev/null +++ b/api/pkg/services/billing_service_test.go @@ -0,0 +1,29 @@ +package services + +import ( + "context" + "testing" + + "github.com/NdoleStudio/httpsms/pkg/entities" + "github.com/stretchr/testify/assert" +) + +func TestBillingLimitsEnabled_DefaultsToFalse(t *testing.T) { + t.Setenv("BILLING_LIMITS_ENABLED", "") + assert.False(t, billingLimitsEnabled()) +} + +func TestBillingLimitsEnabled_RequiresExplicitTrue(t *testing.T) { + t.Setenv("BILLING_LIMITS_ENABLED", "true") + assert.True(t, billingLimitsEnabled()) + + t.Setenv("BILLING_LIMITS_ENABLED", "invalid") + assert.False(t, billingLimitsEnabled()) +} + +func TestBillingService_IsEntitledWithoutCreditLimits(t *testing.T) { + t.Setenv("BILLING_LIMITS_ENABLED", "false") + + service := &BillingService{} + assert.Nil(t, service.IsEntitledWithCount(context.Background(), entities.UserID("user-id"), 1_000_000)) +} diff --git a/api/pkg/services/user_service.go b/api/pkg/services/user_service.go index bbd5ad463..36577c97b 100644 --- a/api/pkg/services/user_service.go +++ b/api/pkg/services/user_service.go @@ -5,6 +5,8 @@ import ( "fmt" "io" "net/http" + "os" + "strings" "time" "firebase.google.com/go/auth" @@ -281,7 +283,8 @@ func (service *UserService) Delete(ctx context.Context, source string, userID en return service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, "cannot load user with ID [%s] from the [%T]", userID, service.repository)) } - if !user.IsOnFreePlan() && user.SubscriptionRenewsAt != nil && user.SubscriptionRenewsAt.After(time.Now()) { + paidFeaturesEnabled := strings.EqualFold(strings.TrimSpace(os.Getenv("PAID_FEATURES_ENABLED")), "true") + if paidFeaturesEnabled && !user.IsOnFreePlan() && user.SubscriptionRenewsAt != nil && user.SubscriptionRenewsAt.After(time.Now()) { return service.tracer.WrapErrorSpan(span, stacktrace.NewError("cannot delete user with ID [%s] because they are have an active [%s] subscription which renews at [%s]", userID, user.SubscriptionName, user.SubscriptionRenewsAt)) } diff --git a/api/pkg/validators/message_handler_validator.go b/api/pkg/validators/message_handler_validator.go index f48109c80..a75ebdea0 100644 --- a/api/pkg/validators/message_handler_validator.go +++ b/api/pkg/validators/message_handler_validator.go @@ -331,7 +331,7 @@ func (validator MessageHandlerValidator) ValidateMessageSearch(ctx context.Conte "max:50", }, "token": []string{ - "required", + "max:4096", }, }, }) diff --git a/api/pkg/validators/turnstile_token_validator.go b/api/pkg/validators/turnstile_token_validator.go index 8a4d65c68..6a50fa5a2 100644 --- a/api/pkg/validators/turnstile_token_validator.go +++ b/api/pkg/validators/turnstile_token_validator.go @@ -46,6 +46,12 @@ func NewTurnstileTokenValidator(logger telemetry.Logger, tracer telemetry.Tracer // ValidateToken validates the cloudflare turnstile token // https://developers.cloudflare.com/turnstile/get-started/server-side-validation/ func (v *TurnstileTokenValidator) ValidateToken(ctx context.Context, ipAddress, token string) bool { + // CAPTCHA is optional in the self-hosted Nasak deployment. Authentication, + // ownership checks and API rate limits still protect this endpoint. + if v.secretKey == "" { + return true + } + ctx, span, ctxLogger := v.tracer.StartWithLogger(ctx, v.logger) defer span.End() diff --git a/compose.production.yml b/compose.production.yml new file mode 100644 index 000000000..f80da2d1e --- /dev/null +++ b/compose.production.yml @@ -0,0 +1,121 @@ +name: nasak-sms + +x-logging: &default-logging + driver: json-file + options: + max-size: "10m" + max-file: "3" + +services: + postgres: + image: postgres:17-alpine + restart: unless-stopped + environment: + POSTGRES_DB: ${POSTGRES_DB:-httpsms} + POSTGRES_USER: ${POSTGRES_USER:-httpsms} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required} + volumes: + - postgres-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 10s + timeout: 5s + retries: 10 + start_period: 15s + networks: [backend] + logging: *default-logging + security_opt: ["no-new-privileges:true"] + + redis: + image: redis:8-alpine + restart: unless-stopped + command: ["redis-server", "--save", "", "--appendonly", "no", "--maxmemory", "128mb", "--maxmemory-policy", "allkeys-lru"] + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 10 + networks: [backend] + logging: *default-logging + security_opt: ["no-new-privileges:true"] + + api: + build: + context: ./api + args: + GIT_COMMIT: ${GIT_COMMIT:-unknown} + GOPROXY: ${GOPROXY:-https://goproxy.cn,direct} + restart: unless-stopped + env_file: + - ${NASAK_SMS_API_ENV_FILE:-./deploy/runtime/api.env} + environment: + FIREBASE_API_KEY: ${FIREBASE_API_KEY:?FIREBASE_API_KEY is required} + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + ports: + - "127.0.0.1:${NASAK_SMS_API_PORT:-3800}:8000" + healthcheck: + test: ["CMD", "curl", "--fail", "--silent", "http://127.0.0.1:8000/health"] + interval: 15s + timeout: 5s + retries: 10 + start_period: 30s + networks: [backend] + logging: *default-logging + read_only: true + tmpfs: + - /tmp:size=64m,mode=1777 + cap_drop: ["ALL"] + security_opt: ["no-new-privileges:true"] + + web: + build: + context: ./web + args: + API_BASE_URL: ${PUBLIC_API_BASE_URL:-https://sms.nasak.ir/api} + APP_URL: ${PUBLIC_APP_URL:-https://sms.nasak.ir} + APP_NAME: ${PUBLIC_APP_NAME:-Nasak SMS} + APP_GITHUB_URL: ${PUBLIC_APP_GITHUB_URL:-https://github.com/Nasak-ir/httpsms} + APP_DOCUMENTATION_URL: ${PUBLIC_APP_DOCUMENTATION_URL:-https://github.com/Nasak-ir/httpsms/blob/main/docs/NASAK_PRODUCTION.md} + APP_DOWNLOAD_URL: ${PUBLIC_APP_DOWNLOAD_URL:-https://github.com/Nasak-ir/httpsms/releases/latest/download/NasakSms.apk} + APP_ENV: production + GITHUB_SHA: ${GIT_COMMIT:-unknown} + FIREBASE_API_KEY: ${FIREBASE_API_KEY:?FIREBASE_API_KEY is required} + FIREBASE_AUTH_DOMAIN: ${FIREBASE_AUTH_DOMAIN:?FIREBASE_AUTH_DOMAIN is required} + FIREBASE_PROJECT_ID: ${FIREBASE_PROJECT_ID:?FIREBASE_PROJECT_ID is required} + FIREBASE_STORAGE_BUCKET: ${FIREBASE_STORAGE_BUCKET:?FIREBASE_STORAGE_BUCKET is required} + FIREBASE_MESSAGING_SENDER_ID: ${FIREBASE_MESSAGING_SENDER_ID:?FIREBASE_MESSAGING_SENDER_ID is required} + FIREBASE_APP_ID: ${FIREBASE_APP_ID:?FIREBASE_APP_ID is required} + FIREBASE_MEASUREMENT_ID: ${FIREBASE_MEASUREMENT_ID:-} + CLOUDFLARE_TURNSTILE_SITE_KEY: ${CLOUDFLARE_TURNSTILE_SITE_KEY:-} + restart: unless-stopped + depends_on: + api: + condition: service_healthy + ports: + - "127.0.0.1:${NASAK_SMS_WEB_PORT:-3801}:3000" + healthcheck: + test: ["CMD", "wget", "--quiet", "--spider", "http://127.0.0.1:3000/"] + interval: 15s + timeout: 5s + retries: 10 + start_period: 15s + networks: [backend] + logging: *default-logging + read_only: true + tmpfs: + - /var/cache/nginx:size=32m + - /var/run:size=4m + cap_drop: ["ALL"] + cap_add: ["CHOWN", "SETGID", "SETUID"] + security_opt: ["no-new-privileges:true"] + +networks: + backend: + driver: bridge + +volumes: + postgres-data: diff --git a/deploy/api.env.example b/deploy/api.env.example new file mode 100644 index 000000000..9065d997b --- /dev/null +++ b/deploy/api.env.example @@ -0,0 +1,53 @@ +ENV=local +GCP_PROJECT_ID=replace-with-firebase-project-id +APP_HOST=0.0.0.0 +APP_PORT=8000 +APP_URL=https://sms.nasak.ir +APP_NAME=Nasak SMS +SWAGGER_HOST=sms.nasak.ir/api +USE_HTTP_LOGGER=false +DATABASE_DEBUG_LOGS=false +ENTITLEMENT_ENABLED=false +BILLING_LIMITS_ENABLED=false +PAID_FEATURES_ENABLED=false +CORS_ALLOW_ORIGINS=https://sms.nasak.ir +CORS_ALLOW_HEADERS=Authorization,Content-Type,X-Api-Key,X-Client-Version +CORS_ALLOW_METHODS=GET,POST,PUT,DELETE,OPTIONS +CORS_EXPOSE_HEADERS=Content-Disposition + +DATABASE_URL=postgresql://httpsms:replace-password@postgres:5432/httpsms +DATABASE_URL_DEDICATED=postgresql://httpsms:replace-password@postgres:5432/httpsms +REDIS_URL=redis://redis:6379 + +EVENTS_QUEUE_TYPE=emulator +EVENTS_QUEUE_NAME=events-local +EVENTS_QUEUE_ENDPOINT=http://api:8000/v1/events +EVENTS_QUEUE_USER_ID=replace-with-random-uuid +EVENTS_QUEUE_USER_API_KEY=replace-with-long-random-api-key + +# Compact, single-line service account JSON. Never commit the production value. +FIREBASE_CREDENTIALS= +# Optional same-origin email/password auth fallback proxy for restricted networks. +# Example: socks5://user:pass@host:port or http://user:pass@host:port +FIREBASE_AUTH_PROXY_URL= +# Optional referrer used when Firebase API keys are restricted by HTTP referrer. +FIREBASE_AUTH_REFERER_URL=https://sms.nasak.ir/ +# Required for Nasak-hosted email/password fallback when Firebase is unreachable. +LOCAL_AUTH_SECRET=replace-with-at-least-32-random-bytes + +SMTP_FROM_NAME=Nasak SMS +SMTP_FROM_EMAIL=no-reply@nasak.ir +SMTP_USERNAME= +SMTP_PASSWORD= +SMTP_HOST= +SMTP_PORT=587 + +GCS_BUCKET_NAME= +AXIOM_TOKEN= +AXIOM_DATASET_EVENTS= +AXIOM_DATASET_METRICS= +PUSHER_APP_ID= +PUSHER_KEY= +PUSHER_SECRET= +PUSHER_CLUSTER= +CLOUDFLARE_TURNSTILE_SECRET_KEY= diff --git a/deploy/compose.env.example b/deploy/compose.env.example new file mode 100644 index 000000000..479e0365f --- /dev/null +++ b/deploy/compose.env.example @@ -0,0 +1,29 @@ +# This file contains public build configuration plus the database password used +# by Docker Compose. The production copy must be mode 0600 and never committed. +POSTGRES_DB=httpsms +POSTGRES_USER=httpsms +POSTGRES_PASSWORD=replace-with-a-long-random-password +NASAK_SMS_API_ENV_FILE=/opt/nasak-sms/shared/api.env +NASAK_SMS_API_PORT=3800 +NASAK_SMS_WEB_PORT=3801 + +PUBLIC_API_BASE_URL=https://sms.nasak.ir/api +PUBLIC_APP_URL=https://sms.nasak.ir +PUBLIC_APP_NAME=Nasak SMS +PUBLIC_APP_GITHUB_URL=https://github.com/Nasak-ir/httpsms +PUBLIC_APP_DOCUMENTATION_URL=https://github.com/Nasak-ir/httpsms/blob/main/docs/NASAK_PRODUCTION.md +PUBLIC_APP_DOWNLOAD_URL=https://github.com/Nasak-ir/httpsms/releases/latest/download/NasakSms.apk + +# Firebase Web SDK configuration. These identifiers are public by design, but +# still belong in the server configuration so environments remain portable. +FIREBASE_API_KEY= +FIREBASE_AUTH_DOMAIN= +FIREBASE_PROJECT_ID= +FIREBASE_STORAGE_BUCKET= +FIREBASE_MESSAGING_SENDER_ID= +FIREBASE_APP_ID= +FIREBASE_MEASUREMENT_ID= + +CLOUDFLARE_TURNSTILE_SITE_KEY= +GIT_COMMIT=local +GOPROXY=https://goproxy.cn,direct diff --git a/docs/NASAK_PRODUCTION.md b/docs/NASAK_PRODUCTION.md new file mode 100644 index 000000000..4d7148ae8 --- /dev/null +++ b/docs/NASAK_PRODUCTION.md @@ -0,0 +1,144 @@ +# Nasak SMS production deployment + +Nasak SMS is a self-hosted fork of httpSMS. It turns an Android phone into an +SMS gateway and exposes a web panel, HTTP API, webhooks, delivery reports, +rate limiting, message expiration, and optional end-to-end encryption. + +## Architecture + +- Public panel: `https://sms.nasak.ir` +- Public API: `https://sms.nasak.ir/api/v1/...` +- API and panel bind only to `127.0.0.1` on the server. +- PostgreSQL and Redis have no host ports. +- Nginx is the only public entry point. +- Runtime secrets live in `/opt/nasak-sms/shared` with mode `0600`. +- Database backups are created hourly and verified with `pg_restore --list`. + +## Required external configuration + +httpSMS uses Firebase Authentication for panel users and Firebase Cloud +Messaging to wake the Android gateway phone. Create one Firebase project and +provide all three matching artifacts: + +1. Firebase Web SDK values for `/opt/nasak-sms/shared/compose.env`. +2. A compact service-account JSON value for `FIREBASE_CREDENTIALS` in + `/opt/nasak-sms/shared/api.env`. +3. `google-services.json` for the Android build. + +Enable Email/Password sign-in in Firebase Authentication. Add +`sms.nasak.ir` to Firebase Authentication authorized domains. + +The web panel first uses the Firebase Web SDK directly. If a user's browser +cannot reach Firebase, email/password authentication falls back to +`/api/v1/auth/email`, which exchanges credentials for Firebase tokens from the +API server. On networks where the server cannot reach Google/Firebase directly, +set `FIREBASE_AUTH_PROXY_URL` in `/opt/nasak-sms/shared/api.env` to an approved +HTTP or SOCKS5 proxy. If the Firebase API key has HTTP referrer restrictions, +set `FIREBASE_AUTH_REFERER_URL=https://sms.nasak.ir/` so the server-side +fallback sends the same origin metadata as the browser. Do not store proxy +credentials in the repository. + +Set `LOCAL_AUTH_SECRET` to a long random value. When Firebase Identity Toolkit is +unreachable from the server, the same endpoint falls back to Nasak-hosted +email/password credentials hashed with bcrypt and returns a short-lived local +bearer token accepted by the API middleware. + +Install the downloaded service-account JSON without copying it into the +repository or printing its private key: + +```bash +sudo /opt/nasak-sms/repository/ops/install-firebase-credentials.sh \ + /tmp/firebase-service-account.json +``` + +The installer verifies that the service account belongs to the configured +Firebase project, atomically updates `api.env`, and removes the source file. + +Cloudflare Turnstile is optional. When both keys are empty, authenticated +message search stays available without any external CAPTCHA request. The API +still enforces account ownership, phone limits, validation, and authentication. + +## Server layout + +```text +/opt/nasak-sms/ + repository/ Git checkout + shared/ + compose.env Compose and public Firebase config (0600) + api.env API secrets and service-account JSON (0600) + backups/ Verified local PostgreSQL dumps (0700) +``` + +## First deployment + +```bash +sudo /opt/nasak-sms/repository/ops/install-docker-ubuntu.sh +sudo install -d -m 0750 /opt/nasak-sms/{shared,backups} +sudo cp deploy/compose.env.example /opt/nasak-sms/shared/compose.env +sudo cp deploy/api.env.example /opt/nasak-sms/shared/api.env +sudo chmod 600 /opt/nasak-sms/shared/*.env +# Fill the runtime values, then: +sudo /opt/nasak-sms/repository/ops/deploy.sh +``` + +Install the Nginx file and request the certificate: + +```bash +sudo cp ops/nginx-sms.nasak.ir.conf /etc/nginx/sites-available/sms.nasak.ir +sudo ln -sfn /etc/nginx/sites-available/sms.nasak.ir /etc/nginx/sites-enabled/sms.nasak.ir +sudo nginx -t && sudo systemctl reload nginx +sudo certbot --nginx -d sms.nasak.ir --redirect --non-interactive --agree-tos +``` + +The supplied Nginx configuration sends `no-store` for application documents +while caching fingerprinted `/_nuxt/` assets as immutable. Keep this split when +changing the proxy: caching the SPA HTML can leave clients with an old document +that references assets removed by a newer release. + +## Android gateway + +The Android app is built with the same Firebase project's `google-services.json`. +The file is stored only as the encrypted GitHub Actions secret +`ANDROID_GOOGLE_SERVICES_JSON_BASE64` and is created inside the runner for the +duration of the build. Release signing uses these additional secrets: + +- `ANDROID_RELEASE_KEYSTORE_BASE64` +- `ANDROID_RELEASE_KEYSTORE_PASSWORD` +- `ANDROID_RELEASE_KEY_ALIAS` +- `ANDROID_RELEASE_KEY_PASSWORD` + +Pushes to `main` produce a signed workflow artifact. Tags matching `sms-v*` +also publish `NasakSms.apk` in a GitHub Release. The signing keystore must be +kept in an offline recovery kit because every future update must use the same +key. + +The Nasak build defaults to this server URL: + +```text +https://sms.nasak.ir/api +``` + +Sign in with the same Firebase account as the web panel, grant SMS permissions, +register the SIM phone number, and keep battery optimization disabled for the +gateway application. + +The production fork does not include the upstream Axiom or Sentry telemetry. +Application diagnostics stay on the device unless a Nasak-owned monitoring +provider is deliberately configured in a future release. + +## Operations + +```bash +sudo systemctl status nasak-sms +sudo /opt/nasak-sms/repository/ops/health-check.sh +sudo /opt/nasak-sms/repository/ops/backup.sh +sudo docker compose --env-file /opt/nasak-sms/shared/compose.env \ + -f /opt/nasak-sms/repository/compose.production.yml logs --tail=200 api +``` + +Never commit production `.env`, Firebase service-account JSON, +`google-services.json`, database dumps, or API keys. + +For servers where `proxy.golang.org` is unavailable, set `GOPROXY` in +`compose.env` to an approved regional mirror. This affects build-time module +downloads only and is not used by the running API. diff --git a/docs/NASAK_SMS.md b/docs/NASAK_SMS.md new file mode 100644 index 000000000..a407b431e --- /dev/null +++ b/docs/NASAK_SMS.md @@ -0,0 +1,139 @@ +# پیامک نسک + +پیامک نسک یک درگاه self-hosted برای ارسال و دریافت SMS با سیم‌کارت و گوشی +اندرویدی خود مجموعه است. API، صف ارسال، گزارش تحویل، پیام‌های دریافتی، webhook +و پنل عملیاتی روی زیرساخت نسک اجرا می‌شوند. + +## هزینه و محدودیت + +- سامانه credit، اشتراک ماهانه یا سقف نرم‌افزاری ندارد. +- آمار ارسال و دریافت فقط برای پایش عملیات ذخیره می‌شود و مانع ارسال نیست. +- Firebase Cloud Messaging فقط گوشی را برای دریافت کار از صف بیدار می‌کند. +- تعرفه احتمالی اپراتور سیم‌کارت همچنان اعمال می‌شود و توسط این نرم‌افزار قابل + حذف نیست. + +## معماری + +```text +Nasak web apps + | + | X-API-Key / HTTPS + v +sms.nasak.ir/api + | + +-- PostgreSQL: users, phones, messages, delivery events, usage + +-- Redis: cache and lightweight queue coordination + +-- FCM: wake-up notification + | + v +Nasak SMS Android app + | + +-- Android SmsManager -> SIM operator + +-- delivery event -> Nasak API + +-- incoming SMS -> Nasak API -> webhook +``` + +هیچ پیامکی از یک سرویس فروش credit عبور نمی‌کند. شماره، کلید API و متن پیام فقط +بین سرویس نسک و گوشی متصل مبادله می‌شوند. + +## راه‌اندازی گوشی + +1. آخرین APK را از صفحه Release خصوصی پروژه نصب کنید. +2. مجوزهای SMS، اعلان و اجرای پس‌زمینه را فعال کنید. +3. در پنل `sms.nasak.ir` وارد شوید و از «کلید اتصال گوشی» یک کلید محدود بسازید. +4. در اپ اندروید، Server URL را `https://sms.nasak.ir/api` قرار دهید. +5. کلید گوشی و شماره سیم‌کارت را وارد کنید. +6. پس از اتصال، heartbeat گوشی باید در پنل سبز شود. + +کلید گوشی با کلید اصلی حساب فرق دارد و فقط به شماره‌های انتخاب‌شده دسترسی دارد. + +## ارسال پیام + +```bash +curl --request POST 'https://sms.nasak.ir/api/v1/messages/send' \ + --header 'Content-Type: application/json' \ + --header 'X-API-Key: YOUR_ACCOUNT_API_KEY' \ + --data '{ + "from": "+989120000000", + "to": "+989121111111", + "content": "پیام آزمایشی نسک", + "request_id": "your-idempotency-reference" + }' +``` + +`from` باید یکی از شماره‌های متصل به همان حساب باشد. پاسخ موفق به معنی ورود پیام +به صف است؛ وضعیت نهایی با eventهای `message.phone.sent`, +`message.phone.delivered` یا `message.send.failed` مشخص می‌شود. + +## اتصال به سایت اصلی نسک + +```dotenv +SMS_PROVIDER="nasak-gateway" +NASAK_SMS_BASE_URL="https://sms.nasak.ir/api" +NASAK_SMS_API_KEY="..." +NASAK_SMS_FROM="+989..." +NASAK_SMS_SEND_PATH="/v1/messages/send" +``` + +این متغیرها فقط در env رمزگذاری‌شده production نگهداری می‌شوند. هیچ کلیدی در +repository، Docker image یا مرورگر قرار نمی‌گیرد. + +## متغیرهای self-hosted + +```dotenv +ENTITLEMENT_ENABLED=false +BILLING_LIMITS_ENABLED=false +PAID_FEATURES_ENABLED=false +DATABASE_DEBUG_LOGS=false +AXIOM_TOKEN= +``` + +- `ENTITLEMENT_ENABLED=false`: تعداد گوشی‌ها، کلیدها و زمان‌بندی‌ها محدود نیست. +- `BILLING_LIMITS_ENABLED=false`: تعداد پیام‌ها هرگز باعث توقف ارسال نمی‌شود. +- `PAID_FEATURES_ENABLED=false`: routeهای پرداخت و Lemon Squeezy ثبت نمی‌شوند. +- `DATABASE_DEBUG_LOGS=false`: SQL و پارامترهای حساس در لاگ production چاپ + نمی‌شوند. +- Axiom خالی: telemetry خارجی غیرفعال و logger محلی استفاده می‌شود. + +## امنیت + +- API فقط روی HTTPS ارائه می‌شود. +- کلید حساب و کلید گوشی باید جدا باشند و دوره‌ای rotate شوند. +- کلیدها در header ارسال شوند؛ قراردادن کلید در query یا body توصیه نمی‌شود. +- متن پیام، کلیدها و payloadهای پیام در application log ثبت نمی‌شوند. +- PostgreSQL و Redis فقط داخل شبکه Docker در دسترس‌اند. +- کانتینر API read-only، بدون Linux capability و با `no-new-privileges` اجرا + می‌شود. +- برای integration سایت از یک حساب سرویس و کلید اختصاصی استفاده شود. + +## Backup و بازیابی + +داده پایدار سرویس در volume دیتابیس PostgreSQL است. بکاپ production باید شامل +موارد زیر باشد: + +- `pg_dump -Fc` از دیتابیس SMS +- envهای رمزگذاری‌شده `api.env` و `compose.env` +- inventory گوشی‌ها و checksum تنظیمات +- نسخه APK و commit فعال + +Redis داده قابل بازسازی است و backup دائمی لازم ندارد. secret خام یا private +Firebase service account نباید وارد Git شود. + +## سلامت سرویس + +- پنل: `GET https://sms.nasak.ir/healthz` +- API: `GET https://sms.nasak.ir/api/health` +- heartbeat گوشی: از پنل و endpointهای heartbeat +- صف: پیام جدید باید از `pending` به `sent/delivered` یا `failed` برسد. + +## توسعه + +```bash +docker compose up --build +cd api && go test ./... +cd web && corepack pnpm install && corepack pnpm lint && corepack pnpm build +``` + +کد بر پایه پروژه متن‌باز `NdoleStudio/httpsms` توسعه یافته و مجوز AGPL آن در +فایل `LICENSE` حفظ شده است. branding، deployment، auth fallback و سیاست +unlimited نسخه نسک در همین repository نگهداری می‌شوند. diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json new file mode 100644 index 000000000..817b73444 --- /dev/null +++ b/graphify-out/.graphify_labels.json @@ -0,0 +1,728 @@ +{ + "0": "Settings", + "1": "Container", + "2": "helpers_test.go", + "3": "PhoneNotificationService", + "4": "HttpSmsApiService", + "5": "MessageThreadService", + "6": "api.ts", + "7": "index.vue", + "8": "WebhookService", + "9": "handler", + "10": "MessageService", + "11": "SendSmsWorker", + "12": "index.vue", + "13": "MainActivity", + "14": "Logger", + "15": "Tracer", + "16": "index.vue", + "17": "SentReceiver", + "18": "BillingUsage", + "19": "index.vue", + "20": "SettingsViewModel", + "21": "DiscordService", + "22": "Cache", + "23": "Integration3CXService", + "24": "BillingService", + "25": "Values", + "26": "User", + "27": "Context", + "28": "MessageHandlerValidator", + "29": "IndexParams", + "30": "Nuxt 4 + Vuetify 4 Migration Implementation Plan", + "31": "FirebaseAuth.vue", + "32": "index.vue", + "33": "UserService", + "34": "MessageThreadHandler", + "35": "PhoneService", + "36": "MessageSendScheduleHandlerValidator", + "37": "Client", + "38": "Migration Order (Tasks)", + "39": "Response", + "40": "LemonsqueezyService", + "41": "googlePushQueue", + "42": "filters.ts", + "43": "UserID", + "44": "index.vue", + "45": "SIM", + "46": "EventDispatcher", + "47": "dependencies", + "48": "HeartbeatService", + "49": "formatEventPayload", + "50": "Message", + "51": "PhoneAPIKeyHandler", + "52": "MessageSendScheduleService", + "53": "hermesNotificationEmailFactory", + "54": "MessageSendSchedule", + "55": "request", + "56": "zerologLogger", + "57": ".getCallLog", + "58": "container.go", + "59": "Heartbeat", + "60": "DiscordStore", + "61": "message_service.go", + "62": "[id].vue", + "63": "StickyNotificationService", + "64": "PhoneHeartbeatMissedPayload", + "65": "UserHandler", + "66": "MessageListener", + "67": "gormPhoneAPIKeyRepository", + "68": "WebhookStore", + "69": "response", + "70": "File Structure", + "71": "devDependencies", + "72": ".MessageService", + "73": "NewMongoDB", + "74": "user_service.go", + "75": "PhoneAPIKeyService", + "76": "Design", + "77": "Build, Test, and Lint Commands", + "78": "MessageThreadHeader.vue", + "79": "index.vue", + "80": "errors.ts", + "81": "NotificationEmailFactory", + "82": "gormPhoneRepository", + "83": "mongoHeartbeatMonitorRepository", + "84": "otelTracer", + "85": "Affiliates Landing Page — Design", + "86": "scripts", + "87": "New", + "88": "HermesGeneratorConfig", + "89": "gormHeartbeatMonitorRepository", + "90": ".ValidateStore", + "91": "Contributor Covenant Code of Conduct", + "92": "Login \"Last Used\" Badge — Design", + "93": "index.vue", + "94": "Email", + "95": "HeartbeatIndex", + "96": "UserHandlerValidator", + "97": "EmailNotificationService", + "98": "noopLogger", + "99": "Webhook Email Payload Formatting", + "100": "httpSMS", + "101": "auth.ts", + "102": "compilerOptions", + "103": "UserEmailFactory", + "104": "attachment_repository.go", + "105": "UserListener", + "106": "gormHeartbeatRepository", + "107": "MessageThreadIndex", + "108": "PhoneAPIKeyIndex", + "109": "response.go", + "110": "gormLogger", + "111": "resetErrors", + "112": "messages.ts", + "113": "default.vue", + "114": "Phone", + "115": "PhoneAPIKey", + "116": "MessagePhoneSendingPayload", + "117": "HeartbeatListener", + "118": "Getting Started page — Design", + "119": "playwright", + "120": "Integration Tests", + "121": "Self Host Setup - Docker", + "122": "billing_usage_test.go", + "123": "bulk_message_handler.go", + "124": "testClient", + "125": "EmailNotificationListener", + "126": "MemoryAttachmentRepository", + "127": "Nasak SMS production deployment", + "128": "Running Locally", + "129": "BootReceiver", + "130": "PhoneNumberValidator.kt", + "131": "NewSMTPEmailService", + "132": "message_send_schedule_test.go", + "133": "user_test.go", + "134": "MessageAPISentPayload", + "135": "BillingListener", + "136": "PhoneAPIKeyListener", + "137": "BillingUsageHistory", + "138": "BulkMessage", + "139": "MessageIndex", + "140": "File Structure", + "141": "Message Thread Archive UI Design", + "142": "website.vue", + "143": "parseErrors", + "144": "package.json", + "145": "main", + "146": "memoryCache", + "147": "redisCache", + "148": "HeartbeatMonitor", + "149": "Context", + "150": "Global Constraints", + "151": "CopyButton.vue", + "152": "LoadingButton.vue", + "153": "countries.ts", + "154": "HeartbeatWorker", + "155": "gradlew", + "156": "factory", + "157": "MessageCallMissedPayload", + "158": "MessageNotificationSentPayload", + "159": "MessagePhoneDeliveredPayload", + "160": "MessagePhoneReceivedPayload", + "161": "MessagePhoneSentPayload", + "162": "MessageSendRetryPayload", + "163": "MessageCallMissed", + "164": "emulator_fcm_client.go", + "165": ".Check", + "166": "service", + "167": "validateAttachmentURL", + "168": "Features", + "169": "BackButton.vue", + "170": "end-to-end-encryption-to-sms-messages.vue", + "171": "index.vue", + "172": "index.vue", + "173": "Nuxt Minimal Starter", + "174": "MessageNotificationFailedPayload", + "175": "MessageSendScheduleDeletedPayload", + "176": "PhoneHeartbeatOnlinePayload", + "177": ".WebhookSendFailed", + "178": ".handleRequest", + "179": ".OnMessagePhoneReceived", + "180": ".onUserAccountCreated", + "181": ".onMessageSendScheduleDeleted", + "182": "MessageResponse", + "183": "PhoneResponse", + "184": "UserResponse", + "185": "Security Policy", + "186": "Troubleshooting", + "187": ".GetSubscriptionPayments", + "188": "AppToast.vue", + "189": "saveSchedule", + "190": "scheduleDayEnabled", + "191": "ExampleInstrumentedTest", + "192": "ExampleUnitTest", + "193": "BulkMessage", + "194": "message.go", + "195": ".Send", + "196": ".Send", + "197": "TestShouldCheckUnarchive", + "198": ".ValidateEvent", + "199": ".createPhoneDeletedEvent", + "200": "deploy.sh", + "201": "install-docker-ubuntu.sh", + "202": "login.vue", + "203": "highlightjs.client.ts", + "204": "app.ts", + "205": "Constants.kt", + "206": ".ValidateMessageEvent", + "207": "health-check.sh", + "208": "generate-firebase-credentials.sh", + "209": "BlogInfo.vue", + "210": "BlogSidebar.vue", + "211": "FixedHeader.vue", + "212": "LoadingDashboard.vue", + "213": "forward-incoming-sms-from-phone-to-webhook.vue", + "214": "grant-send-and-read-sms-permissions-on-android.vue", + "215": "how-to-send-sms-messages-from-excel.vue", + "216": "send-bulk-sms-from-csv-file-with-no-code.vue", + "217": "send-sms-from-android-phone-with-python.vue", + "218": "send-sms-when-new-row-is-added-to-google-sheets-using-zapier.vue", + "219": "qrcode", + "220": "getWeekday", + "221": "saveEmailNotifications", + "222": "build.gradle.kts", + "223": "Typography.kt", + "224": "build.gradle.kts", + "225": "settings.gradle.kts", + "226": "github.com/NdoleStudio/httpsms", + "227": "github.com/NdoleStudio/httpsms/tests", + "228": "app.vue", + "229": "BlogAuthorBio.vue", + "230": "NuxtLogo.vue", + "231": "blank.vue", + "232": "error.vue", + "233": "guest.ts", + "234": "index.vue", + "235": "index.vue", + "236": "chart.client.ts", + "237": "vPhoneInput.client.ts", + "238": "vue-glow.client.ts", + "239": "nuxt-shims.d.ts", + "240": "commitlint.config.mjs", + "241": "eslint.config.mjs", + "242": "nuxt.config.ts", + "243": "integrations.js", + "244": "stylelint.config.mjs", + "245": "MessageSendExpiredCheckPayload", + "246": ".GetSubscriptionPayments", + "247": "UserAPIKeyRotatedPayload", + "248": "install-firebase-credentials.sh", + "249": "AGENTS.md", + "250": "MessageReceive", + "251": "HeartbeatMonitor", + "252": "MessageAPIDeletedPayload", + "253": "loadMessages", + "254": "MainScreen", + "255": "SettingsScreen", + "256": "MessageSend", + "257": "PhoneHeartbeatMissedPayload", + "258": "service", + "259": ".register", + "260": ".GetSubscriptionPayments", + "261": "commit-msg", + "262": "post-applypatch", + "263": "post-checkout", + "264": "post-commit", + "265": "post-merge", + "266": "post-rewrite", + "267": "pre-applypatch", + "268": "pre-auto-gc", + "269": "pre-commit", + "270": "pre-merge-commit", + "271": "pre-push", + "272": "pre-rebase", + "273": "prepare-commit-msg", + "274": "webhook_responses.go", + "275": "backup.sh", + "276": "deploy.sh", + "277": "check_http", + "278": "install-docker-ubuntu.sh", + "279": "install-firebase-credentials.sh", + "280": "Constants", + "281": "docs.go", + "282": "discord.go", + "283": "heartbeat.go", + "284": "webhook.go", + "285": "discord_message_failed_event.go", + "286": "listeners.go", + "287": "message_send_failed_event.go", + "288": "message_thead_api_deleted_event.go", + "289": "user_account_created_event.go", + "290": "user_account_deleted_event.go", + "291": "message_thread_service_test.go", + "292": "BroadcastReceiver", + "293": "Context", + "294": "Intent", + "295": "Result", + "296": "String", + "297": "Worker", + "298": "String", + "299": "String", + "300": "Array", + "301": "BroadcastReceiver", + "302": "Context", + "303": "Intent", + "304": "Pair", + "305": "Result", + "306": "String", + "307": "Worker", + "308": "Boolean", + "309": "Context", + "310": "String", + "311": "BroadcastReceiver", + "312": "Context", + "313": "Intent", + "314": "BroadcastReceiver", + "315": "Context", + "316": "Int", + "317": "Intent", + "318": "Pair", + "319": "Result", + "320": "String", + "321": "Worker", + "322": "BroadcastReceiver", + "323": "Context", + "324": "Intent", + "325": "Result", + "326": "String", + "327": "Worker", + "328": "AppCompatActivity", + "329": "Boolean", + "330": "Bundle", + "331": "ArrayList", + "332": "Boolean", + "333": "Context", + "334": "PendingIntent", + "335": "String", + "336": "BillingDateOrdinal.vue", + "338": "Context", + "339": "String", + "340": "ViewModel", + "341": "Boolean", + "342": "String", + "343": "Boolean", + "344": "Context", + "345": "String", + "346": "ViewModel", + "347": "Boolean", + "348": "Typography.kt", + "349": "Boolean", + "350": "String", + "351": "Result", + "352": "Worker", + "353": "settings.gradle.kts", + "354": "Context", + "355": "Duration", + "356": "Context", + "357": "Duration", + "358": "Context", + "359": "Context", + "360": "Context", + "361": "Request", + "362": "T", + "363": "Context", + "364": "Builder", + "365": "T", + "366": "Hermes", + "367": "Hermes", + "368": "T", + "369": "T", + "370": "Hermes", + "371": "Location", + "372": "Time", + "373": "T", + "374": "Context", + "375": "UUID", + "376": "Time", + "377": "UUID", + "378": "T", + "379": "Time", + "380": "Time", + "381": "UUID", + "382": "Time", + "383": "UUID", + "384": "Time", + "385": "UUID", + "386": "Time", + "387": "UUID", + "388": "StringArray", + "389": "Time", + "390": "UUID", + "391": "Time", + "392": "UUID", + "393": "T", + "394": "Time", + "395": "UUID", + "396": "StringArray", + "397": "Time", + "398": "UUID", + "399": "Duration", + "400": "SIM", + "401": "Time", + "402": "UUID", + "403": "Time", + "404": "UUID", + "405": "Location", + "406": "Time", + "407": "UUID", + "408": "T", + "409": "StringArray", + "410": "Time", + "411": "UUID", + "412": "UUID", + "413": "SIM", + "414": "Time", + "415": "UUID", + "416": "SIM", + "417": "Time", + "418": "UUID", + "419": "SIM", + "420": "Time", + "421": "UUID", + "422": "Time", + "423": "UUID", + "424": "SIM", + "425": "Time", + "426": "UUID", + "427": "Time", + "428": "UUID", + "429": "Duration", + "430": "Time", + "431": "UUID", + "432": "SIM", + "433": "Time", + "434": "UUID", + "435": "SIM", + "436": "Time", + "437": "UUID", + "438": "SIM", + "439": "Time", + "440": "UUID", + "441": "SIM", + "442": "Time", + "443": "UUID", + "444": "Time", + "445": "UUID", + "446": "SIM", + "447": "Time", + "448": "UUID", + "449": "SIM", + "450": "Time", + "451": "UUID", + "452": "SIM", + "453": "Time", + "454": "UUID", + "455": "Time", + "456": "UUID", + "457": "Time", + "458": "UUID", + "459": "SIM", + "460": "Time", + "461": "UUID", + "462": "Time", + "463": "UUID", + "464": "Time", + "465": "UUID", + "466": "Time", + "467": "UUID", + "468": "Time", + "469": "UUID", + "470": "SIM", + "471": "Time", + "472": "UUID", + "473": "Time", + "474": "Time", + "475": "Time", + "476": "Time", + "477": "Time", + "478": "Time", + "479": "Time", + "480": "UUID", + "481": "Ctx", + "482": "Router", + "483": "Ctx", + "484": "Router", + "485": "Ctx", + "486": "Router", + "490": "Ctx", + "491": "Router", + "492": "Ctx", + "493": "Router", + "494": "Values", + "495": "Builder", + "496": "Ctx", + "497": "Router", + "500": "App", + "501": "Context", + "502": "Ctx", + "503": "Ctx", + "504": "Router", + "505": "Ctx", + "506": "Router", + "507": "App", + "508": "Ctx", + "509": "T", + "510": "Ctx", + "511": "Router", + "514": "Context", + "515": "Event", + "516": "Context", + "517": "Event", + "518": "Context", + "519": "Event", + "520": "Context", + "521": "Event", + "522": "Context", + "523": "Event", + "524": "Context", + "525": "Event", + "526": "Context", + "527": "Event", + "528": "Context", + "529": "Event", + "530": "Context", + "531": "Event", + "532": "Context", + "533": "Event", + "534": "Context", + "535": "Event", + "536": "Context", + "537": "Event", + "538": "Context", + "539": "Event", + "540": "Context", + "541": "Event", + "542": "Context", + "543": "Event", + "544": "Handler", + "545": "T", + "546": "T", + "547": "Context", + "548": "Context", + "549": "DB", + "550": "Time", + "551": "Context", + "552": "DB", + "553": "UUID", + "554": "Context", + "555": "DB", + "556": "UUID", + "557": "Context", + "558": "DB", + "559": "Context", + "560": "DB", + "561": "BulkMessage", + "562": "Context", + "563": "DB", + "564": "Message", + "565": "UUID", + "566": "Context", + "567": "DB", + "568": "UUID", + "569": "Context", + "570": "DB", + "571": "UUID", + "572": "Context", + "573": "DB", + "574": "Time", + "575": "UUID", + "576": "Context", + "577": "DB", + "578": "Phone", + "579": "UUID", + "580": "Context", + "581": "DB", + "582": "UUID", + "583": "Context", + "584": "Map", + "585": "Collection", + "586": "Context", + "587": "Database", + "588": "UUID", + "589": "Collection", + "590": "Context", + "591": "Database", + "592": "Context", + "593": "Database", + "594": "Location", + "595": "Time", + "596": "Time", + "597": "Time", + "598": "Time", + "599": "SIM", + "600": "Time", + "601": "Time", + "602": "UUID", + "603": "BulkMessage", + "604": "Message", + "605": "Phone", + "606": "T", + "607": "Time", + "608": "Context", + "609": "Event", + "610": "Map", + "611": "service", + "612": "UUID", + "613": "Context", + "614": "Duration", + "615": "service", + "616": "Context", + "617": "Message", + "618": "Context", + "619": "Duration", + "620": "Context", + "621": "service", + "622": "Context", + "623": "Duration", + "624": "Event", + "625": "Float64Histogram", + "626": "Span", + "627": "Context", + "628": "Message", + "629": "Context", + "630": "Duration", + "631": "Context", + "632": "Event", + "633": "service", + "634": "Time", + "635": "UUID", + "636": "Context", + "637": "Event", + "638": "Map", + "639": "service", + "640": "Context", + "641": "service", + "642": "Context", + "643": "Context", + "644": "MessageSendScheduleWindow", + "645": "service", + "646": "UUID", + "647": "BulkMessage", + "648": "Context", + "649": "Duration", + "650": "Event", + "651": "Message", + "652": "PhoneNumber", + "653": "service", + "654": "SIM", + "655": "Time", + "656": "UUID", + "657": "SpanContext", + "658": "T", + "659": "Context", + "660": "service", + "661": "Time", + "662": "UUID", + "663": "T", + "664": "Context", + "665": "service", + "666": "UUID", + "667": "Context", + "668": "Event", + "669": "Phone", + "670": "service", + "671": "SIM", + "672": "Span", + "673": "Time", + "674": "UUID", + "675": "Context", + "676": "Duration", + "677": "Event", + "678": "Phone", + "679": "PhoneNumber", + "680": "service", + "681": "SIM", + "682": "UUID", + "683": "Event", + "684": "Context", + "685": "Event", + "686": "Request", + "687": "service", + "688": "StringArray", + "689": "UUID", + "690": "Context", + "691": "Interface", + "692": "Time", + "693": "Context", + "694": "Ctx", + "695": "Span", + "696": "Event", + "697": "SpanContext", + "698": "Context", + "699": "Values", + "700": "BulkMessage", + "701": "Context", + "702": "Location", + "703": "Values", + "704": "Context", + "705": "Values", + "706": "Context", + "707": "Values", + "708": "Context", + "709": "Values", + "710": "Context", + "711": "MessageSendScheduleWindow", + "712": "Values", + "713": "Context", + "714": "Values", + "715": "Context", + "716": "Values", + "717": "Context", + "718": "Values", + "719": "Context", + "720": "Values", + "721": "Context", + "722": "Values", + "723": "Context", + "724": "Values", + "725": "Context", + "726": "Duration", + "727": "Message", + "728": "Request", + "729": "T", + "730": "Context", + "731": "Duration", + "732": "T", + "733": "Time" +} diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root new file mode 100644 index 000000000..945c9b46d --- /dev/null +++ b/graphify-out/.graphify_root @@ -0,0 +1 @@ +. \ No newline at end of file diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md new file mode 100644 index 000000000..dd4547a35 --- /dev/null +++ b/graphify-out/GRAPH_REPORT.md @@ -0,0 +1,1255 @@ +# Graph Report - nasak-sms (2026-07-20) + +## Corpus Check +- 410 files · ~313,139 words +- Verdict: corpus is large enough that graph structure adds value. + +## Summary +- 3427 nodes · 4777 edges · 726 communities (150 shown, 576 thin omitted) +- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 320 edges (avg confidence: 0.8) +- Token cost: 0 input · 0 output + +## Graph Freshness +- Built from commit: `9d75aefe` +- Run `git rev-parse HEAD` and compare to check if the graph is stale. +- Run `graphify update .` after code changes (no API cost). + +## Community Hubs (Navigation) +- Settings +- Container +- helpers_test.go +- PhoneNotificationService +- HttpSmsApiService +- MessageThreadService +- api.ts +- index.vue +- WebhookService +- handler +- MessageService +- SendSmsWorker +- index.vue +- MainActivity +- Logger +- Tracer +- index.vue +- SentReceiver +- BillingUsage +- index.vue +- SettingsViewModel +- DiscordService +- Cache +- Integration3CXService +- BillingService +- Values +- User +- Context +- MessageHandlerValidator +- IndexParams +- Nuxt 4 + Vuetify 4 Migration Implementation Plan +- FirebaseAuth.vue +- index.vue +- UserService +- MessageThreadHandler +- PhoneService +- MessageSendScheduleHandlerValidator +- Client +- Migration Order (Tasks) +- Response +- LemonsqueezyService +- googlePushQueue +- filters.ts +- UserID +- index.vue +- SIM +- EventDispatcher +- dependencies +- HeartbeatService +- formatEventPayload +- Message +- PhoneAPIKeyHandler +- MessageSendScheduleService +- hermesNotificationEmailFactory +- MessageSendSchedule +- request +- zerologLogger +- .getCallLog +- container.go +- Heartbeat +- DiscordStore +- message_service.go +- [id].vue +- StickyNotificationService +- PhoneHeartbeatMissedPayload +- UserHandler +- MessageListener +- gormPhoneAPIKeyRepository +- WebhookStore +- response +- File Structure +- devDependencies +- .MessageService +- NewMongoDB +- user_service.go +- PhoneAPIKeyService +- Design +- Build, Test, and Lint Commands +- MessageThreadHeader.vue +- index.vue +- errors.ts +- NotificationEmailFactory +- gormPhoneRepository +- mongoHeartbeatMonitorRepository +- otelTracer +- Affiliates Landing Page — Design +- scripts +- New +- HermesGeneratorConfig +- gormHeartbeatMonitorRepository +- .ValidateStore +- Contributor Covenant Code of Conduct +- Login "Last Used" Badge — Design +- index.vue +- Email +- HeartbeatIndex +- UserHandlerValidator +- EmailNotificationService +- noopLogger +- Webhook Email Payload Formatting +- httpSMS +- auth.ts +- compilerOptions +- UserEmailFactory +- attachment_repository.go +- UserListener +- gormHeartbeatRepository +- MessageThreadIndex +- PhoneAPIKeyIndex +- response.go +- gormLogger +- resetErrors +- messages.ts +- default.vue +- Phone +- PhoneAPIKey +- MessagePhoneSendingPayload +- HeartbeatListener +- Getting Started page — Design +- playwright +- Integration Tests +- Self Host Setup - Docker +- bulk_message_handler.go +- testClient +- EmailNotificationListener +- MemoryAttachmentRepository +- Nasak SMS production deployment +- Running Locally +- BootReceiver +- PhoneNumberValidator.kt +- NewSMTPEmailService +- message_send_schedule_test.go +- BillingListener +- PhoneAPIKeyListener +- BillingUsageHistory +- BulkMessage +- MessageIndex +- File Structure +- Message Thread Archive UI Design +- website.vue +- parseErrors +- package.json +- main +- memoryCache +- redisCache +- HeartbeatMonitor +- Context +- Global Constraints +- CopyButton.vue +- LoadingButton.vue +- countries.ts +- HeartbeatWorker +- gradlew +- factory +- MessageCallMissedPayload +- MessageNotificationSentPayload +- MessagePhoneDeliveredPayload +- MessagePhoneReceivedPayload +- MessagePhoneSentPayload +- MessageSendRetryPayload +- MessageCallMissed +- emulator_fcm_client.go +- .Check +- service +- validateAttachmentURL +- Features +- BackButton.vue +- end-to-end-encryption-to-sms-messages.vue +- index.vue +- index.vue +- Nuxt Minimal Starter +- MessageNotificationFailedPayload +- MessageSendScheduleDeletedPayload +- PhoneHeartbeatOnlinePayload +- .WebhookSendFailed +- .handleRequest +- .OnMessagePhoneReceived +- .onUserAccountCreated +- .onMessageSendScheduleDeleted +- MessageResponse +- PhoneResponse +- UserResponse +- Security Policy +- Troubleshooting +- .GetSubscriptionPayments +- AppToast.vue +- saveSchedule +- scheduleDayEnabled +- ExampleInstrumentedTest +- ExampleUnitTest +- BulkMessage +- message.go +- .Send +- .Send +- TestShouldCheckUnarchive +- .ValidateEvent +- .createPhoneDeletedEvent +- deploy.sh +- install-docker-ubuntu.sh +- login.vue +- app.ts +- Constants.kt +- .ValidateMessageEvent +- health-check.sh +- generate-firebase-credentials.sh +- BlogInfo.vue +- BlogSidebar.vue +- FixedHeader.vue +- LoadingDashboard.vue +- forward-incoming-sms-from-phone-to-webhook.vue +- grant-send-and-read-sms-permissions-on-android.vue +- how-to-send-sms-messages-from-excel.vue +- send-bulk-sms-from-csv-file-with-no-code.vue +- send-sms-from-android-phone-with-python.vue +- send-sms-when-new-row-is-added-to-google-sheets-using-zapier.vue +- qrcode +- getWeekday +- saveEmailNotifications +- Typography.kt +- settings.gradle.kts +- github.com/NdoleStudio/httpsms +- github.com/NdoleStudio/httpsms/tests +- MessageSendExpiredCheckPayload +- .GetSubscriptionPayments +- UserAPIKeyRotatedPayload +- install-firebase-credentials.sh +- AGENTS.md +- MessageReceive +- HeartbeatMonitor +- MessageAPIDeletedPayload +- loadMessages +- MainScreen +- SettingsScreen +- MessageSend +- PhoneHeartbeatMissedPayload +- service +- .register +- .GetSubscriptionPayments +- commit-msg +- post-applypatch +- post-checkout +- post-commit +- post-merge +- post-rewrite +- pre-applypatch +- pre-auto-gc +- pre-commit +- pre-merge-commit +- pre-push +- pre-rebase +- prepare-commit-msg +- webhook_responses.go +- backup.sh +- deploy.sh +- check_http +- install-docker-ubuntu.sh +- install-firebase-credentials.sh +- Constants +- discord.go +- heartbeat.go +- webhook.go +- discord_message_failed_event.go +- listeners.go +- message_send_failed_event.go +- message_thead_api_deleted_event.go +- user_account_created_event.go +- user_account_deleted_event.go +- BroadcastReceiver +- Context +- Intent +- Result +- String +- Worker +- String +- String +- Array +- BroadcastReceiver +- Context +- Intent +- Pair +- Result +- String +- Worker +- Boolean +- Context +- String +- BroadcastReceiver +- Context +- Intent +- BroadcastReceiver +- Context +- Int +- Intent +- Pair +- Result +- String +- Worker +- BroadcastReceiver +- Context +- Intent +- Result +- String +- Worker +- AppCompatActivity +- Boolean +- Bundle +- ArrayList +- Boolean +- Context +- PendingIntent +- String +- Context +- String +- ViewModel +- Boolean +- String +- Boolean +- Context +- String +- ViewModel +- Boolean +- Boolean +- String +- Result +- Worker +- Context +- Duration +- Context +- Duration +- Context +- Context +- Context +- Request +- T +- Context +- Builder +- T +- Hermes +- Hermes +- T +- T +- Hermes +- Location +- Time +- T +- Context +- UUID +- Time +- UUID +- T +- Time +- Time +- UUID +- Time +- UUID +- Time +- UUID +- Time +- UUID +- StringArray +- Time +- UUID +- Time +- UUID +- T +- Time +- UUID +- StringArray +- Time +- UUID +- Duration +- SIM +- Time +- UUID +- Time +- UUID +- Location +- Time +- UUID +- T +- StringArray +- Time +- UUID +- UUID +- SIM +- Time +- UUID +- SIM +- Time +- UUID +- SIM +- Time +- UUID +- Time +- UUID +- SIM +- Time +- UUID +- Time +- UUID +- Duration +- Time +- UUID +- SIM +- Time +- UUID +- SIM +- Time +- UUID +- SIM +- Time +- UUID +- SIM +- Time +- UUID +- Time +- UUID +- SIM +- Time +- UUID +- SIM +- Time +- UUID +- SIM +- Time +- UUID +- Time +- UUID +- Time +- UUID +- SIM +- Time +- UUID +- Time +- UUID +- Time +- UUID +- Time +- UUID +- Time +- UUID +- SIM +- Time +- UUID +- Time +- Time +- Time +- Time +- Time +- Time +- Time +- UUID +- Ctx +- Router +- Ctx +- Router +- Ctx +- Router +- Ctx +- Router +- Ctx +- Router +- Values +- Builder +- Ctx +- Router +- App +- Context +- Ctx +- Ctx +- Router +- Ctx +- Router +- App +- Ctx +- T +- Ctx +- Router +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Context +- Event +- Handler +- T +- T +- Context +- Context +- DB +- Time +- Context +- DB +- UUID +- Context +- DB +- UUID +- Context +- DB +- Context +- DB +- BulkMessage +- Context +- DB +- Message +- UUID +- Context +- DB +- UUID +- Context +- DB +- UUID +- Context +- DB +- Time +- UUID +- Context +- DB +- Phone +- UUID +- Context +- DB +- UUID +- Context +- Map +- Collection +- Context +- Database +- UUID +- Collection +- Context +- Database +- Context +- Database +- Location +- Time +- Time +- Time +- Time +- SIM +- Time +- Time +- UUID +- BulkMessage +- Message +- Phone +- T +- Time +- Context +- Event +- Map +- service +- UUID +- Context +- Duration +- service +- Context +- Message +- Context +- Duration +- Context +- service +- Context +- Duration +- Event +- Float64Histogram +- Span +- Context +- Message +- Context +- Duration +- Context +- Event +- service +- Time +- UUID +- Context +- Event +- Map +- service +- Context +- service +- Context +- Context +- MessageSendScheduleWindow +- service +- UUID +- BulkMessage +- Context +- Duration +- Event +- Message +- PhoneNumber +- service +- SIM +- Time +- UUID +- SpanContext +- T +- Context +- service +- Time +- UUID +- T +- Context +- service +- UUID +- Context +- Event +- Phone +- service +- SIM +- Span +- Time +- UUID +- Context +- Duration +- Event +- Phone +- PhoneNumber +- service +- SIM +- UUID +- Event +- Context +- Event +- Request +- service +- StringArray +- UUID +- Context +- Interface +- Time +- Context +- Ctx +- Span +- Event +- SpanContext +- Context +- Values +- BulkMessage +- Context +- Location +- Values +- Context +- Values +- Context +- Values +- Context +- Values +- Context +- MessageSendScheduleWindow +- Values +- Context +- Values +- Context +- Values +- Context +- Values +- Context +- Values +- Context +- Values +- Context +- Values +- Context +- Duration +- Message +- Request +- T +- Context +- Duration +- T +- Time + +## God Nodes (most connected - your core abstractions) +1. `Container` - 148 edges +2. `Tracer` - 116 edges +3. `New()` - 76 edges +4. `MessageService` - 55 edges +5. `Settings` - 41 edges +6. `NewContainer()` - 38 edges +7. `Logger` - 38 edges +8. `UserID` - 36 edges +9. `UserService` - 35 edges +10. `BillingService` - 34 edges + +## Surprising Connections (you probably didn't know these) +- `newAPIClient()` --calls--> `New()` [INFERRED] + tests/helpers_test.go → api/pkg/discord/client.go +- `newPhoneClient()` --calls--> `New()` [INFERRED] + tests/helpers_test.go → api/pkg/discord/client.go +- `randomEncryptionKey()` --calls--> `New()` [INFERRED] + tests/helpers_test.go → api/pkg/discord/client.go +- `setupPhone()` --calls--> `New()` [INFERRED] + tests/helpers_test.go → api/pkg/discord/client.go +- `setupWebhook()` --calls--> `New()` [INFERRED] + tests/helpers_test.go → api/pkg/discord/client.go + +## Import Cycles +- None detected. + +## Communities (726 total, 576 thin omitted) + +### Community 0 - "Settings" +Cohesion: 0.13 +Nodes (6): Boolean, Context, Long, String, Settings, SharedPreferences + +### Community 1 - "Container" +Cohesion: 0.13 +Nodes (9): App, Float64Histogram, Handler, NewContainer(), paidFeaturesEnabled(), Authenticated(), Container, AttachmentRepository (+1 more) + +### Community 2 - "helpers_test.go" +Cohesion: 0.11 +Nodes (50): defaultClientConfig(), TestWithBaseURL(), TestWithHTTPClient(), WithApplicationID(), WithBaseURL(), WithBotToken(), WithHTTPClient(), assertWebhookJWT() (+42 more) + +### Community 4 - "HttpSmsApiService" +Cohesion: 0.06 +Nodes (26): create(), HttpSmsApiService, Array, Boolean, Context, Int, Long, Message (+18 more) + +### Community 5 - "MessageThreadService" +Cohesion: 0.27 +Nodes (3): NewMessageThreadService(), MessageThreadService, MessageThreadUpdateParams + +### Community 6 - "api.ts" +Cohesion: 0.04 +Nodes (57): useBillingStore, EntitiesBillingUsage, EntitiesDiscord, EntitiesMessageSendSchedule, EntitiesMessageSendScheduleWindow, EntitiesPhoneAPIKey, EntitiesSIM, EntitiesSubscriptionName (+49 more) + +### Community 7 - "index.vue" +Cohesion: 0.04 +Nodes (47): activeDiscord, activePhone, activeSchedule, activeWebhook, apiKey, apiKeyShow, authStore, avatarUrl (+39 more) + +### Community 8 - "WebhookService" +Cohesion: 0.06 +Nodes (13): Ctx, Router, NewWebhookHandler(), NewWebhookService(), NewWebhookHandlerValidator(), WebhookHandler, WebhookIndex, WebhookStore (+5 more) + +### Community 10 - "MessageService" +Cohesion: 0.22 +Nodes (3): Ctx, Router, MessageHandler + +### Community 11 - "SendSmsWorker" +Cohesion: 0.11 +Nodes (14): android, ArrayList, Context, Message, PendingIntent, Result, String, Worker (+6 more) + +### Community 12 - "index.vue" +Cohesion: 0.05 +Nodes (41): authStore, canResendSelected, config, deleteMessages(), errorMessages, errorTitle, exportMessages(), fetchMessages() (+33 more) + +### Community 13 - "MainActivity" +Cohesion: 0.11 +Nodes (13): AppCompatActivity, Boolean, Bundle, Context, Long, String, MainActivity, Boolean (+5 more) + +### Community 14 - "Logger" +Cohesion: 0.12 +Nodes (20): axiomLogger(), consoleLogger(), getGCEInstanceID(), instanceID(), isLocal(), logDriver(), logger(), NewLiteContainer() (+12 more) + +### Community 15 - "Tracer" +Cohesion: 0.17 +Nodes (4): MessageEventName, MessagePhoneDeliveredPayload, MessagePhoneSentPayload, MessageStoreEventParams + +### Community 16 - "index.vue" +Cohesion: 0.06 +Nodes (30): authStore, canResend(), config, contact, contactIsPhoneNumber, deleteMessage(), form, { formatPhoneNumber } (+22 more) + +### Community 17 - "SentReceiver" +Cohesion: 0.07 +Nodes (17): AppCompatActivity, Bundle, Context, String, LoginActivity, LoginScreen(), Context, Result (+9 more) + +### Community 18 - "BillingUsage" +Cohesion: 0.22 +Nodes (6): Context, service, Time, UUID, BillingUsage, BillingService + +### Community 19 - "index.vue" +Cohesion: 0.33 +Nodes (4): canadaProvinces, countries, SelectOption, usStates + +### Community 20 - "SettingsViewModel" +Cohesion: 0.07 +Nodes (28): File Structure, Nuxt 4 + Vuetify 4 Migration Implementation Plan, Task 10: Create Pinia Store — Billing, Task 11: Create Middleware, Task 12: Port Layouts, Task 13: Port Components — Toast, LoadingDashboard, LoadingButton, BackButton, Task 14: Port Components — CopyButton, FixedHeader, BlogAuthorBio, BlogInfo, NuxtLogo, Task 15: Port Components — FirebaseAuth, MessageThread, MessageThreadHeader (+20 more) + +### Community 21 - "DiscordService" +Cohesion: 0.16 +Nodes (6): Database, DB, Interface, Config, HeartbeatMonitorRepository, HeartbeatRepository + +### Community 25 - "Values" +Cohesion: 0.09 +Nodes (9): Context, Values, MessageAttachment, MessageCallMissed, MessageEvent, MessageOutstanding, MessageReceive, MessageSearch (+1 more) + +### Community 26 - "User" +Cohesion: 0.15 +Nodes (5): Context, DB, SubscriptionName, User, gormUserRepository + +### Community 27 - "Context" +Cohesion: 0.17 +Nodes (6): NewPhoneService(), PhoneDeletedPayload, PhoneUpdatedPayload, PhoneFCMTokenParams, PhoneService, PhoneUpsertParams + +### Community 28 - "MessageHandlerValidator" +Cohesion: 0.07 +Nodes (27): Architecture, Components: Class-based → ` + + + +
+ + + + + \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json new file mode 100644 index 000000000..ea82d7814 --- /dev/null +++ b/graphify-out/graph.json @@ -0,0 +1,84639 @@ +{ + "directed": false, + "multigraph": false, + "graph": {}, + "nodes": [ + { + "label": ".mcp.json", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_config_file" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_mcp_json", + "community": 119, + "norm_label": ".mcp.json" + }, + { + "label": "playwright", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_server" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_mcp_mcp_server_playwright", + "community": 119, + "norm_label": "playwright" + }, + { + "label": "npx", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_command" + }, + "_origin": "ast", + "id": "mcp_command_npx", + "community": 119, + "norm_label": "npx" + }, + { + "label": "@modelcontextprotocol/server-playwright", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_package" + }, + "_origin": "ast", + "id": "mcp_package_modelcontextprotocol_server_playwright", + "community": 119, + "norm_label": "@modelcontextprotocol/server-playwright" + }, + { + "label": "BROWSER", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "env_var" + }, + "_origin": "ast", + "id": "env_var_browser", + "community": 119, + "norm_label": "browser" + }, + { + "label": "context7", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_server" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_mcp_mcp_server_context7", + "community": 119, + "norm_label": "context7" + }, + { + "label": "@upstash/context7-mcp", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_package" + }, + "_origin": "ast", + "id": "mcp_package_upstash_context7_mcp", + "community": 119, + "norm_label": "@upstash/context7-mcp" + }, + { + "label": "axiom", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_server" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_mcp_mcp_server_axiom", + "community": 119, + "norm_label": "axiom" + }, + { + "label": "mcp-remote", + "file_type": "code", + "source_file": ".mcp.json", + "source_location": "L1", + "metadata": { + "mcp_kind": "mcp_package" + }, + "_origin": "ast", + "id": "mcp_package_mcp_remote", + "community": 119, + "norm_label": "mcp-remote" + }, + { + "label": "build.gradle.kts", + "file_type": "code", + "source_file": "android/app/build.gradle.kts", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_build_gradle", + "community": 222, + "norm_label": "build.gradle.kts" + }, + { + "label": "ExampleInstrumentedTest.kt", + "file_type": "code", + "source_file": "android/app/src/androidTest/java/com/httpsms/ExampleInstrumentedTest.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_androidtest_java_com_httpsms_exampleinstrumentedtest_kt", + "community": 207, + "norm_label": "exampleinstrumentedtest.kt" + }, + { + "label": "ExampleInstrumentedTest", + "file_type": "code", + "source_file": "android/app/src/androidTest/java/com/httpsms/ExampleInstrumentedTest.kt", + "source_location": "L16", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_androidtest_java_com_httpsms_exampleinstrumentedtest_exampleinstrumentedtest", + "community": 207, + "norm_label": "exampleinstrumentedtest" + }, + { + "label": ".useAppContext()", + "file_type": "code", + "source_file": "android/app/src/androidTest/java/com/httpsms/ExampleInstrumentedTest.kt", + "source_location": "L18", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_androidtest_java_com_httpsms_exampleinstrumentedtest_exampleinstrumentedtest_useappcontext", + "community": 207, + "norm_label": ".useappcontext()" + }, + { + "label": "Constants.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Constants.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_constants_kt", + "community": 280, + "norm_label": "constants.kt" + }, + { + "label": "Constants", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Constants.kt", + "source_location": "L3", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_constants_constants", + "community": 280, + "norm_label": "constants" + }, + { + "label": "DeliveredReceiver.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_kt", + "community": 38, + "norm_label": "deliveredreceiver.kt" + }, + { + "label": "DeliveredReceiver", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L18", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_deliveredreceiver", + "community": 38, + "norm_label": "deliveredreceiver" + }, + { + "label": "BroadcastReceiver", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_kt_broadcastreceiver", + "community": 292, + "norm_label": "broadcastreceiver" + }, + { + "label": ".onReceive()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_deliveredreceiver_onreceive", + "community": 38, + "norm_label": ".onreceive()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_kt_context", + "community": 293, + "norm_label": "context" + }, + { + "label": "Intent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_kt_intent", + "community": 294, + "norm_label": "intent" + }, + { + "label": ".handleMessageDelivered()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_deliveredreceiver_handlemessagedelivered", + "community": 38, + "norm_label": ".handlemessagedelivered()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_kt_string", + "community": 296, + "norm_label": "string" + }, + { + "label": ".handleMessageFailed()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L53", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_deliveredreceiver_handlemessagefailed", + "community": 38, + "norm_label": ".handlemessagefailed()" + }, + { + "label": "DeliveredMessageWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L82", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_deliveredmessageworker", + "community": 38, + "norm_label": "deliveredmessageworker" + }, + { + "label": "Worker", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_kt_worker", + "community": 297, + "norm_label": "worker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L83", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_deliveredmessageworker_dowork", + "community": 38, + "norm_label": ".dowork()" + }, + { + "label": "Result", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_kt_result", + "community": 295, + "norm_label": "result" + }, + { + "label": "FailedMessageWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L96", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_failedmessageworker", + "community": 38, + "norm_label": "failedmessageworker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/DeliveredReceiver.kt", + "source_location": "L97", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_deliveredreceiver_failedmessageworker_dowork", + "community": 38, + "norm_label": ".dowork()" + }, + { + "label": "Encrypter.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Encrypter.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_encrypter_kt", + "community": 4, + "norm_label": "encrypter.kt" + }, + { + "label": "Encrypter", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Encrypter.kt", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_encrypter_encrypter", + "community": 4, + "norm_label": "encrypter" + }, + { + "label": ".decrypt()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Encrypter.kt", + "source_location": "L15", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_encrypter_encrypter_decrypt", + "community": 4, + "norm_label": ".decrypt()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_encrypter_kt_string", + "community": 298, + "norm_label": "string" + }, + { + "label": ".encrypt()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Encrypter.kt", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_encrypter_encrypter_encrypt", + "community": 4, + "norm_label": ".encrypt()" + }, + { + "label": ".generateIv()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Encrypter.kt", + "source_location": "L33", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_encrypter_encrypter_generateiv", + "community": 4, + "norm_label": ".generateiv()" + }, + { + "label": "ByteArray", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "bytearray", + "community": 4, + "norm_label": "bytearray" + }, + { + "label": ".hash()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Encrypter.kt", + "source_location": "L39", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_encrypter_encrypter_hash", + "community": 4, + "norm_label": ".hash()" + }, + { + "label": "FirebaseMessagingService.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice", + "community": 11, + "norm_label": "firebasemessagingservice.kt" + }, + { + "label": "MyFirebaseMessagingService", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L21", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_myfirebasemessagingservice", + "community": 11, + "norm_label": "myfirebasemessagingservice" + }, + { + "label": "FirebaseMessagingService", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "firebasemessagingservice", + "community": 11, + "norm_label": "firebasemessagingservice" + }, + { + "label": ".onMessageReceived()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L23", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_myfirebasemessagingservice_onmessagereceived", + "community": 11, + "norm_label": ".onmessagereceived()" + }, + { + "label": "RemoteMessage", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "remotemessage", + "community": 11, + "norm_label": "remotemessage" + }, + { + "label": ".onNewToken()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L49", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_myfirebasemessagingservice_onnewtoken", + "community": 11, + "norm_label": ".onnewtoken()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_kt_string", + "community": 11, + "norm_label": "string" + }, + { + "label": ".sendHeartbeat()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L60", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_myfirebasemessagingservice_sendheartbeat", + "community": 11, + "norm_label": ".sendheartbeat()" + }, + { + "label": ".scheduleJob()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L83", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_myfirebasemessagingservice_schedulejob", + "community": 11, + "norm_label": ".schedulejob()" + }, + { + "label": ".sendRegistrationToServer()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L104", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_myfirebasemessagingservice_sendregistrationtoserver", + "community": 11, + "norm_label": ".sendregistrationtoserver()" + }, + { + "label": ".initTimber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L122", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_myfirebasemessagingservice_inittimber", + "community": 11, + "norm_label": ".inittimber()" + }, + { + "label": "SendSmsWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L133", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker", + "community": 11, + "norm_label": "sendsmsworker" + }, + { + "label": "Worker", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_kt_worker", + "community": 11, + "norm_label": "worker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L134", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_dowork", + "community": 11, + "norm_label": ".dowork()" + }, + { + "label": "Result", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_kt_result", + "community": 11, + "norm_label": "result" + }, + { + "label": ".extractFileName()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L181", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_extractfilename", + "community": 11, + "norm_label": ".extractfilename()" + }, + { + "label": ".handleMmsMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L196", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_handlemmsmessage", + "community": 11, + "norm_label": ".handlemmsmessage()" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_kt_message", + "community": 11, + "norm_label": "message" + }, + { + "label": ".handleMultipartMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L318", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_handlemultipartmessage", + "community": 11, + "norm_label": ".handlemultipartmessage()" + }, + { + "label": "ArrayList", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_kt_arraylist", + "community": 11, + "norm_label": "arraylist" + }, + { + "label": ".handleSingleMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L347", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_handlesinglemessage", + "community": 11, + "norm_label": ".handlesinglemessage()" + }, + { + "label": ".handleFailed()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L357", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_handlefailed", + "community": 11, + "norm_label": ".handlefailed()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_kt_context", + "community": 11, + "norm_label": "context" + }, + { + "label": ".getMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L383", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_getmessage", + "community": 11, + "norm_label": ".getmessage()" + }, + { + "label": ".sendMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L396", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_sendmessage", + "community": 11, + "norm_label": ".sendmessage()" + }, + { + "label": "PendingIntent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_kt_pendingintent", + "community": 11, + "norm_label": "pendingintent" + }, + { + "label": ".getMessageParts()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L409", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_getmessageparts", + "community": 11, + "norm_label": ".getmessageparts()" + }, + { + "label": ".createPendingIntent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt", + "source_location": "L431", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_firebasemessagingservice_sendsmsworker_creatependingintent", + "community": 11, + "norm_label": ".creatependingintent()" + }, + { + "label": "HttpSmsApiService.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice", + "community": 4, + "norm_label": "httpsmsapiservice.kt" + }, + { + "label": "HttpSmsApiService", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L22", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice", + "community": 4, + "norm_label": "httpsmsapiservice" + }, + { + "label": "create()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L33", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_create", + "community": 4, + "norm_label": "create()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_context", + "community": 4, + "norm_label": "context" + }, + { + "label": ".getOutstandingMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L41", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_getoutstandingmessage", + "community": 4, + "norm_label": ".getoutstandingmessage()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_string", + "community": 4, + "norm_label": "string" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_message", + "community": 4, + "norm_label": "message" + }, + { + "label": ".sendDeliveredEvent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L65", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_senddeliveredevent", + "community": 4, + "norm_label": ".senddeliveredevent()" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_boolean", + "community": 4, + "norm_label": "boolean" + }, + { + "label": ".sendSentEvent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L69", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_sendsentevent", + "community": 4, + "norm_label": ".sendsentevent()" + }, + { + "label": ".sendFailedEvent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L73", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_sendfailedevent", + "community": 4, + "norm_label": ".sendfailedevent()" + }, + { + "label": ".receive()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L77", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_receive", + "community": 4, + "norm_label": ".receive()" + }, + { + "label": ".sendMissedCallEvent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L105", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_sendmissedcallevent", + "community": 4, + "norm_label": ".sendmissedcallevent()" + }, + { + "label": ".storeHeartbeat()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L134", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_storeheartbeat", + "community": 4, + "norm_label": ".storeheartbeat()" + }, + { + "label": "Array", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_array", + "community": 4, + "norm_label": "array" + }, + { + "label": ".copyToWithLimit()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L161", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_copytowithlimit", + "community": 4, + "norm_label": ".copytowithlimit()" + }, + { + "label": "OutputStream", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "outputstream", + "community": 4, + "norm_label": "outputstream" + }, + { + "label": "Long", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_long", + "community": 4, + "norm_label": "long" + }, + { + "label": "Int", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_int", + "community": 4, + "norm_label": "int" + }, + { + "label": ".downloadAttachment()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L183", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_downloadattachment", + "community": 4, + "norm_label": ".downloadattachment()" + }, + { + "label": "Pair", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_pair", + "community": 4, + "norm_label": "pair" + }, + { + "label": "File", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "file", + "community": 4, + "norm_label": "file" + }, + { + "label": "MediaType", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "mediatype", + "community": 4, + "norm_label": "mediatype" + }, + { + "label": ".sendEvent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L221", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_sendevent", + "community": 4, + "norm_label": ".sendevent()" + }, + { + "label": ".updateFcmToken()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L260", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_updatefcmtoken", + "community": 4, + "norm_label": ".updatefcmtoken()" + }, + { + "label": "Triple", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "triple", + "community": 4, + "norm_label": "triple" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_kt_phone", + "community": 4, + "norm_label": "phone" + }, + { + "label": ".resolveURL()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/HttpSmsApiService.kt", + "source_location": "L297", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_httpsmsapiservice_httpsmsapiservice_resolveurl", + "community": 4, + "norm_label": ".resolveurl()" + }, + { + "label": "URL", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "url", + "community": 4, + "norm_label": "url" + }, + { + "label": "LoginActivity.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity", + "community": 17, + "norm_label": "loginactivity.kt" + }, + { + "label": "LoginActivity", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L27", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity", + "community": 17, + "norm_label": "loginactivity" + }, + { + "label": "AppCompatActivity", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_kt_appcompatactivity", + "community": 17, + "norm_label": "appcompatactivity" + }, + { + "label": ".onCreate()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L30", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity_oncreate", + "community": 17, + "norm_label": ".oncreate()" + }, + { + "label": "Bundle", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_kt_bundle", + "community": 17, + "norm_label": "bundle" + }, + { + "label": ".startQrCodeScan()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L76", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity_startqrcodescan", + "community": 17, + "norm_label": ".startqrcodescan()" + }, + { + "label": ".onStart()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L85", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity_onstart", + "community": 17, + "norm_label": ".onstart()" + }, + { + "label": ".getPhoneNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L91", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity_getphonenumber", + "community": 17, + "norm_label": ".getphonenumber()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_kt_context", + "community": 17, + "norm_label": "context" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_kt_string", + "community": 17, + "norm_label": "string" + }, + { + "label": ".requestPermissions()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L119", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity_requestpermissions", + "community": 17, + "norm_label": ".requestpermissions()" + }, + { + "label": ".redirectToMain()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L138", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity_redirecttomain", + "community": 17, + "norm_label": ".redirecttomain()" + }, + { + "label": ".getCountryCode()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/LoginActivity.kt", + "source_location": "L148", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_loginactivity_loginactivity_getcountrycode", + "community": 17, + "norm_label": ".getcountrycode()" + }, + { + "label": "MainActivity.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity", + "community": 13, + "norm_label": "mainactivity.kt" + }, + { + "label": "MainActivity", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L33", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity", + "community": 13, + "norm_label": "mainactivity" + }, + { + "label": "AppCompatActivity", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_kt_appcompatactivity", + "community": 13, + "norm_label": "appcompatactivity" + }, + { + "label": ".onCreate()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L36", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_oncreate", + "community": 13, + "norm_label": ".oncreate()" + }, + { + "label": "Bundle", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_kt_bundle", + "community": 13, + "norm_label": "bundle" + }, + { + "label": ".onStart()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L84", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_onstart", + "community": 13, + "norm_label": ".onstart()" + }, + { + "label": ".onResume()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L89", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_onresume", + "community": 13, + "norm_label": ".onresume()" + }, + { + "label": ".requestPermissions()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L97", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_requestpermissions", + "community": 13, + "norm_label": ".requestpermissions()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_kt_context", + "community": 13, + "norm_label": "context" + }, + { + "label": ".scheduleHeartbeatWorker()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L131", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_scheduleheartbeatworker", + "community": 13, + "norm_label": ".scheduleheartbeatworker()" + }, + { + "label": ".startStickyNotification()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L151", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_startstickynotification", + "community": 13, + "norm_label": ".startstickynotification()" + }, + { + "label": ".refreshToken()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L162", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_refreshtoken", + "community": 13, + "norm_label": ".refreshtoken()" + }, + { + "label": ".sendFCMToken()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L195", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_sendfcmtoken", + "community": 13, + "norm_label": ".sendfcmtoken()" + }, + { + "label": "Long", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_kt_long", + "community": 13, + "norm_label": "long" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_kt_string", + "community": 13, + "norm_label": "string" + }, + { + "label": ".initTimber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L209", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_inittimber", + "community": 13, + "norm_label": ".inittimber()" + }, + { + "label": ".onSettingsClick()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L220", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_onsettingsclick", + "community": 13, + "norm_label": ".onsettingsclick()" + }, + { + "label": ".redirectToLogin()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L226", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_redirecttologin", + "community": 13, + "norm_label": ".redirecttologin()" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_kt_boolean", + "community": 13, + "norm_label": "boolean" + }, + { + "label": ".createChannel()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/MainActivity.kt", + "source_location": "L235", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_mainactivity_mainactivity_createchannel", + "community": 13, + "norm_label": ".createchannel()" + }, + { + "label": "Models.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_kt", + "community": 4, + "norm_label": "models.kt" + }, + { + "label": "ResponseMessage", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L6", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_responsemessage", + "community": 4, + "norm_label": "responsemessage" + }, + { + "label": "fromJson()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_fromjson", + "community": 4, + "norm_label": "fromjson()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_kt_string", + "community": 299, + "norm_label": "string" + }, + { + "label": "ResponsePhone", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L15", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_responsephone", + "community": 4, + "norm_label": "responsephone" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_phone", + "community": 4, + "norm_label": "phone" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L32", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_message", + "community": 4, + "norm_label": "message" + }, + { + "label": "ReceivedAttachment", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L76", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_receivedattachment", + "community": 4, + "norm_label": "receivedattachment" + }, + { + "label": "ReceivedMessageRequest", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Models.kt", + "source_location": "L83", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_models_receivedmessagerequest", + "community": 4, + "norm_label": "receivedmessagerequest" + }, + { + "label": "ReceivedReceiver.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt", + "community": 4, + "norm_label": "receivedreceiver.kt" + }, + { + "label": "ReceivedReceiver", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L27", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedreceiver", + "community": 4, + "norm_label": "receivedreceiver" + }, + { + "label": "BroadcastReceiver", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_broadcastreceiver", + "community": 301, + "norm_label": "broadcastreceiver" + }, + { + "label": ".onReceive()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedreceiver_onreceive", + "community": 4, + "norm_label": ".onreceive()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_context", + "community": 302, + "norm_label": "context" + }, + { + "label": "Intent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_intent", + "community": 303, + "norm_label": "intent" + }, + { + "label": ".handleSmsReceived()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L39", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedreceiver_handlesmsreceived", + "community": 4, + "norm_label": ".handlesmsreceived()" + }, + { + "label": ".handleMmsReceived()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L64", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedreceiver_handlemmsreceived", + "community": 4, + "norm_label": ".handlemmsreceived()" + }, + { + "label": ".getSimAndOwner()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L118", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedreceiver_getsimandowner", + "community": 4, + "norm_label": ".getsimandowner()" + }, + { + "label": "Pair", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_pair", + "community": 304, + "norm_label": "pair" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_string", + "community": 306, + "norm_label": "string" + }, + { + "label": ".handleMessageReceived()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L128", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedreceiver_handlemessagereceived", + "community": 4, + "norm_label": ".handlemessagereceived()" + }, + { + "label": "Array", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_array", + "community": 300, + "norm_label": "array" + }, + { + "label": "ReceivedSmsWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L173", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedsmsworker", + "community": 4, + "norm_label": "receivedsmsworker" + }, + { + "label": "Worker", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_worker", + "community": 307, + "norm_label": "worker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ReceivedReceiver.kt", + "source_location": "L174", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_receivedsmsworker_dowork", + "community": 4, + "norm_label": ".dowork()" + }, + { + "label": "Result", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivedreceiver_kt_result", + "community": 305, + "norm_label": "result" + }, + { + "label": "Receiver.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Receiver.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receiver_kt", + "community": 38, + "norm_label": "receiver.kt" + }, + { + "label": "Receiver", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Receiver.kt", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receiver_receiver", + "community": 38, + "norm_label": "receiver" + }, + { + "label": ".register()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Receiver.kt", + "source_location": "L14", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receiver_receiver_register", + "community": 38, + "norm_label": ".register()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receiver_kt_context", + "community": 309, + "norm_label": "context" + }, + { + "label": ".isValid()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Receiver.kt", + "source_location": "L50", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receiver_receiver_isvalid", + "community": 38, + "norm_label": ".isvalid()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receiver_kt_string", + "community": 310, + "norm_label": "string" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receiver_kt_boolean", + "community": 308, + "norm_label": "boolean" + }, + { + "label": "SentReceiver.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_kt", + "community": 38, + "norm_label": "sentreceiver.kt" + }, + { + "label": "SentReceiver", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_sentreceiver", + "community": 38, + "norm_label": "sentreceiver" + }, + { + "label": "BroadcastReceiver", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_kt_broadcastreceiver", + "community": 322, + "norm_label": "broadcastreceiver" + }, + { + "label": ".onReceive()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_sentreceiver_onreceive", + "community": 38, + "norm_label": ".onreceive()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_kt_context", + "community": 323, + "norm_label": "context" + }, + { + "label": "Intent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_kt_intent", + "community": 324, + "norm_label": "intent" + }, + { + "label": ".cleanupPduFile()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L34", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_sentreceiver_cleanuppdufile", + "community": 38, + "norm_label": ".cleanuppdufile()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_kt_string", + "community": 326, + "norm_label": "string" + }, + { + "label": ".handleMessageSent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L54", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_sentreceiver_handlemessagesent", + "community": 38, + "norm_label": ".handlemessagesent()" + }, + { + "label": ".handleMessageFailed()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L81", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_sentreceiver_handlemessagefailed", + "community": 38, + "norm_label": ".handlemessagefailed()" + }, + { + "label": "SentMessageWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L109", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_sentmessageworker", + "community": 38, + "norm_label": "sentmessageworker" + }, + { + "label": "Worker", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_kt_worker", + "community": 327, + "norm_label": "worker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L110", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_sentmessageworker_dowork", + "community": 38, + "norm_label": ".dowork()" + }, + { + "label": "Result", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_kt_result", + "community": 325, + "norm_label": "result" + }, + { + "label": "FailedMessageWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L123", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_failedmessageworker", + "community": 38, + "norm_label": "failedmessageworker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SentReceiver.kt", + "source_location": "L124", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_sentreceiver_failedmessageworker_dowork", + "community": 38, + "norm_label": ".dowork()" + }, + { + "label": "Settings.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings", + "community": 0, + "norm_label": "settings.kt" + }, + { + "label": "Settings", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L15", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings", + "community": 0, + "norm_label": "settings" + }, + { + "label": ".securePreferences()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L35", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_securepreferences", + "community": 0, + "norm_label": ".securepreferences()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_kt_context", + "community": 0, + "norm_label": "context" + }, + { + "label": "SharedPreferences", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "sharedpreferences", + "community": 0, + "norm_label": "sharedpreferences" + }, + { + "label": ".getSecureString()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L49", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getsecurestring", + "community": 0, + "norm_label": ".getsecurestring()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_kt_string", + "community": 0, + "norm_label": "string" + }, + { + "label": ".setSecureString()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L64", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setsecurestring", + "community": 0, + "norm_label": ".setsecurestring()" + }, + { + "label": ".getPhoneNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L75", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getphonenumber", + "community": 0, + "norm_label": ".getphonenumber()" + }, + { + "label": ".getSIM1PhoneNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L82", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getsim1phonenumber", + "community": 0, + "norm_label": ".getsim1phonenumber()" + }, + { + "label": ".getSIM2PhoneNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L98", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getsim2phonenumber", + "community": 0, + "norm_label": ".getsim2phonenumber()" + }, + { + "label": ".hasOwner()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L114", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_hasowner", + "community": 0, + "norm_label": ".hasowner()" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_kt_boolean", + "community": 0, + "norm_label": "boolean" + }, + { + "label": ".getFcmTokenLastUpdateTimestamp()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L118", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getfcmtokenlastupdatetimestamp", + "community": 0, + "norm_label": ".getfcmtokenlastupdatetimestamp()" + }, + { + "label": "Long", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_kt_long", + "community": 0, + "norm_label": "long" + }, + { + "label": ".setFcmTokenLastUpdateTimestampAsync()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L130", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setfcmtokenlastupdatetimestampasync", + "community": 0, + "norm_label": ".setfcmtokenlastupdatetimestampasync()" + }, + { + "label": ".setSIM1PhoneNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L139", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setsim1phonenumber", + "community": 0, + "norm_label": ".setsim1phonenumber()" + }, + { + "label": ".setSIM2PhoneNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L148", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setsim2phonenumber", + "community": 0, + "norm_label": ".setsim2phonenumber()" + }, + { + "label": ".isIncomingMessageEnabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L157", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_isincomingmessageenabled", + "community": 0, + "norm_label": ".isincomingmessageenabled()" + }, + { + "label": ".isIncomingCallEventsEnabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L170", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_isincomingcalleventsenabled", + "community": 0, + "norm_label": ".isincomingcalleventsenabled()" + }, + { + "label": ".setIncomingCallEventsEnabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L183", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setincomingcalleventsenabled", + "community": 0, + "norm_label": ".setincomingcalleventsenabled()" + }, + { + "label": ".isDebugLogEnabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L196", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_isdebuglogenabled", + "community": 0, + "norm_label": ".isdebuglogenabled()" + }, + { + "label": ".setDebugLogEnabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L204", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setdebuglogenabled", + "community": 0, + "norm_label": ".setdebuglogenabled()" + }, + { + "label": ".setIncomingActiveSIM1()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L213", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setincomingactivesim1", + "community": 0, + "norm_label": ".setincomingactivesim1()" + }, + { + "label": ".setEncryptReceivedMessages()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L222", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setencryptreceivedmessages", + "community": 0, + "norm_label": ".setencryptreceivedmessages()" + }, + { + "label": ".encryptReceivedMessages()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L231", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_encryptreceivedmessages", + "community": 0, + "norm_label": ".encryptreceivedmessages()" + }, + { + "label": ".setEncryptionKey()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L242", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setencryptionkey", + "community": 0, + "norm_label": ".setencryptionkey()" + }, + { + "label": ".getEncryptionKey()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L251", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getencryptionkey", + "community": 0, + "norm_label": ".getencryptionkey()" + }, + { + "label": ".setIncomingActiveSIM2()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L259", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setincomingactivesim2", + "community": 0, + "norm_label": ".setincomingactivesim2()" + }, + { + "label": ".getActiveStatus()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L269", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getactivestatus", + "community": 0, + "norm_label": ".getactivestatus()" + }, + { + "label": ".setActiveStatusAsync()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L286", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setactivestatusasync", + "community": 0, + "norm_label": ".setactivestatusasync()" + }, + { + "label": ".isLoggedIn()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L300", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_isloggedin", + "community": 0, + "norm_label": ".isloggedin()" + }, + { + "label": ".isDualSIM()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L304", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_isdualsim", + "community": 0, + "norm_label": ".isdualsim()" + }, + { + "label": ".getApiKey()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L308", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getapikey", + "community": 0, + "norm_label": ".getapikey()" + }, + { + "label": ".getApiKeyOrDefault()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L314", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getapikeyordefault", + "community": 0, + "norm_label": ".getapikeyordefault()" + }, + { + "label": ".isCharging()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L318", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_ischarging", + "community": 0, + "norm_label": ".ischarging()" + }, + { + "label": ".setUserID()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L323", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setuserid", + "community": 0, + "norm_label": ".setuserid()" + }, + { + "label": ".getUserID()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L332", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getuserid", + "community": 0, + "norm_label": ".getuserid()" + }, + { + "label": ".getServerUrlOrDefault()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L339", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getserverurlordefault", + "community": 0, + "norm_label": ".getserverurlordefault()" + }, + { + "label": "URI", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "uri", + "community": 17, + "norm_label": "uri" + }, + { + "label": ".getServerUrl()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L344", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getserverurl", + "community": 0, + "norm_label": ".getserverurl()" + }, + { + "label": ".setServerUrlAsync()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L355", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setserverurlasync", + "community": 0, + "norm_label": ".setserverurlasync()" + }, + { + "label": ".setApiKeyAsync()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L364", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setapikeyasync", + "community": 0, + "norm_label": ".setapikeyasync()" + }, + { + "label": ".getFcmToken()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L370", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getfcmtoken", + "community": 0, + "norm_label": ".getfcmtoken()" + }, + { + "label": ".setFcmTokenAsync()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L376", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setfcmtokenasync", + "community": 0, + "norm_label": ".setfcmtokenasync()" + }, + { + "label": ".getHeartbeatTimestamp()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L382", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_getheartbeattimestamp", + "community": 0, + "norm_label": ".getheartbeattimestamp()" + }, + { + "label": ".currentTimestamp()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L393", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_currenttimestamp", + "community": 0, + "norm_label": ".currenttimestamp()" + }, + { + "label": ".setHeartbeatTimestampAsync()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/Settings.kt", + "source_location": "L400", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_settings_settings_setheartbeattimestampasync", + "community": 0, + "norm_label": ".setheartbeattimestampasync()" + }, + { + "label": "SettingsActivity.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SettingsActivity.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_kt", + "community": 17, + "norm_label": "settingsactivity.kt" + }, + { + "label": "SettingsActivity", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SettingsActivity.kt", + "source_location": "L14", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_settingsactivity", + "community": 17, + "norm_label": "settingsactivity" + }, + { + "label": "AppCompatActivity", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_kt_appcompatactivity", + "community": 328, + "norm_label": "appcompatactivity" + }, + { + "label": ".onCreate()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SettingsActivity.kt", + "source_location": "L17", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_settingsactivity_oncreate", + "community": 17, + "norm_label": ".oncreate()" + }, + { + "label": "Bundle", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_kt_bundle", + "community": 330, + "norm_label": "bundle" + }, + { + "label": ".onBackClicked()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SettingsActivity.kt", + "source_location": "L33", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_settingsactivity_onbackclicked", + "community": 17, + "norm_label": ".onbackclicked()" + }, + { + "label": ".redirectToMain()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SettingsActivity.kt", + "source_location": "L38", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_settingsactivity_redirecttomain", + "community": 17, + "norm_label": ".redirecttomain()" + }, + { + "label": ".onLogoutClick()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SettingsActivity.kt", + "source_location": "L44", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_settingsactivity_onlogoutclick", + "community": 17, + "norm_label": ".onlogoutclick()" + }, + { + "label": ".redirectToLogin()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SettingsActivity.kt", + "source_location": "L59", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_settingsactivity_redirecttologin", + "community": 17, + "norm_label": ".redirecttologin()" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_settingsactivity_kt_boolean", + "community": 329, + "norm_label": "boolean" + }, + { + "label": "SmsManagerService.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_kt", + "community": 11, + "norm_label": "smsmanagerservice.kt" + }, + { + "label": "SmsManagerService", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L15", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_smsmanagerservice", + "community": 11, + "norm_label": "smsmanagerservice" + }, + { + "label": "sentAction()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_sentaction", + "community": 11, + "norm_label": "sentaction()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_kt_string", + "community": 335, + "norm_label": "string" + }, + { + "label": "deliveredAction()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_deliveredaction", + "community": 11, + "norm_label": "deliveredaction()" + }, + { + "label": "isDualSIM()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L28", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_isdualsim", + "community": 11, + "norm_label": "isdualsim()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_kt_context", + "community": 333, + "norm_label": "context" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_kt_boolean", + "community": 332, + "norm_label": "boolean" + }, + { + "label": ".messageParts()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L43", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_smsmanagerservice_messageparts", + "community": 11, + "norm_label": ".messageparts()" + }, + { + "label": "ArrayList", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_kt_arraylist", + "community": 331, + "norm_label": "arraylist" + }, + { + "label": ".sendMultipartMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L47", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_smsmanagerservice_sendmultipartmessage", + "community": 11, + "norm_label": ".sendmultipartmessage()" + }, + { + "label": "PendingIntent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_kt_pendingintent", + "community": 334, + "norm_label": "pendingintent" + }, + { + "label": ".sendTextMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L51", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_smsmanagerservice_sendtextmessage", + "community": 11, + "norm_label": ".sendtextmessage()" + }, + { + "label": ".getSmsManager()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L55", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_smsmanagerservice_getsmsmanager", + "community": 11, + "norm_label": ".getsmsmanager()" + }, + { + "label": "SmsManager", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "smsmanager", + "community": 11, + "norm_label": "smsmanager" + }, + { + "label": ".sendMultimediaMessage()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/SmsManagerService.kt", + "source_location": "L81", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_smsmanagerservice_smsmanagerservice_sendmultimediamessage", + "community": 11, + "norm_label": ".sendmultimediamessage()" + }, + { + "label": "android", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android", + "community": 11, + "norm_label": "android" + }, + { + "label": "BootReceiver.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/BootReceiver.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_bootreceiver_kt", + "community": 191, + "norm_label": "bootreceiver.kt" + }, + { + "label": "BootReceiver", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/BootReceiver.kt", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_bootreceiver_bootreceiver", + "community": 191, + "norm_label": "bootreceiver" + }, + { + "label": "BroadcastReceiver", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_bootreceiver_kt_broadcastreceiver", + "community": 311, + "norm_label": "broadcastreceiver" + }, + { + "label": ".onReceive()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/BootReceiver.kt", + "source_location": "L13", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_bootreceiver_bootreceiver_onreceive", + "community": 191, + "norm_label": ".onreceive()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_bootreceiver_kt_context", + "community": 312, + "norm_label": "context" + }, + { + "label": "Intent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_bootreceiver_kt_intent", + "community": 313, + "norm_label": "intent" + }, + { + "label": ".startStickyNotification()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/BootReceiver.kt", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_bootreceiver_bootreceiver_startstickynotification", + "community": 191, + "norm_label": ".startstickynotification()" + }, + { + "label": "PhoneStateReceiver.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt", + "community": 57, + "norm_label": "phonestatereceiver.kt" + }, + { + "label": "PhoneStateReceiver", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_phonestatereceiver", + "community": 57, + "norm_label": "phonestatereceiver" + }, + { + "label": "BroadcastReceiver", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_broadcastreceiver", + "community": 314, + "norm_label": "broadcastreceiver" + }, + { + "label": ".onReceive()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L30", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_phonestatereceiver_onreceive", + "community": 57, + "norm_label": ".onreceive()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_context", + "community": 315, + "norm_label": "context" + }, + { + "label": "Intent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_intent", + "community": 317, + "norm_label": "intent" + }, + { + "label": ".handleMissedCallEvent()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L53", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_phonestatereceiver_handlemissedcallevent", + "community": 57, + "norm_label": ".handlemissedcallevent()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_string", + "community": 320, + "norm_label": "string" + }, + { + "label": "Pair", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_pair", + "community": 318, + "norm_label": "pair" + }, + { + "label": "ZonedDateTime", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "zoneddatetime", + "community": 57, + "norm_label": "zoneddatetime" + }, + { + "label": ".getSlotIndexFromSubscriptionId()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L91", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_phonestatereceiver_getslotindexfromsubscriptionid", + "community": 57, + "norm_label": ".getslotindexfromsubscriptionid()" + }, + { + "label": "Int", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_int", + "community": 316, + "norm_label": "int" + }, + { + "label": ".getCallLog()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L111", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_phonestatereceiver_getcalllog", + "community": 57, + "norm_label": ".getcalllog()" + }, + { + "label": "MissedCallWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L158", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_missedcallworker", + "community": 57, + "norm_label": "missedcallworker" + }, + { + "label": "Worker", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_worker", + "community": 321, + "norm_label": "worker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/receivers/PhoneStateReceiver.kt", + "source_location": "L159", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_missedcallworker_dowork", + "community": 57, + "norm_label": ".dowork()" + }, + { + "label": "Result", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_receivers_phonestatereceiver_kt_result", + "community": 319, + "norm_label": "result" + }, + { + "label": "StickyNotificationService.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice", + "community": 63, + "norm_label": "stickynotificationservice.kt" + }, + { + "label": "StickyNotificationService", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt", + "source_location": "L12", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_stickynotificationservice", + "community": 63, + "norm_label": "stickynotificationservice" + }, + { + "label": "Service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_kt_service", + "community": 63, + "norm_label": "service" + }, + { + "label": ".onBind()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt", + "source_location": "L13", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_stickynotificationservice_onbind", + "community": 63, + "norm_label": ".onbind()" + }, + { + "label": "Intent", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_kt_intent", + "community": 63, + "norm_label": "intent" + }, + { + "label": "IBinder", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "ibinder", + "community": 63, + "norm_label": "ibinder" + }, + { + "label": ".onCreate()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt", + "source_location": "L18", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_stickynotificationservice_oncreate", + "community": 63, + "norm_label": ".oncreate()" + }, + { + "label": ".onStartCommand()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt", + "source_location": "L25", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_stickynotificationservice_onstartcommand", + "community": 63, + "norm_label": ".onstartcommand()" + }, + { + "label": "Int", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_kt_int", + "community": 63, + "norm_label": "int" + }, + { + "label": ".onDestroy()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt", + "source_location": "L31", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_stickynotificationservice_ondestroy", + "community": 63, + "norm_label": ".ondestroy()" + }, + { + "label": ".createNotification()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/services/StickyNotificationService.kt", + "source_location": "L38", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_services_stickynotificationservice_stickynotificationservice_createnotification", + "community": 63, + "norm_label": ".createnotification()" + }, + { + "label": "LoginActivityContent.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginActivityContent.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginactivitycontent", + "community": 17, + "norm_label": "loginactivitycontent.kt" + }, + { + "label": "LoginScreen()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginActivityContent.kt", + "source_location": "L48", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginactivitycontent_loginscreen", + "community": 17, + "norm_label": "loginscreen()" + }, + { + "label": "LoginViewModel.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel", + "community": 17, + "norm_label": "loginviewmodel.kt" + }, + { + "label": "LoginUiState", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L31", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginuistate", + "community": 17, + "norm_label": "loginuistate" + }, + { + "label": "LoginViewModel", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L45", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel", + "community": 17, + "norm_label": "loginviewmodel" + }, + { + "label": "ViewModel", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_kt_viewmodel", + "community": 17, + "norm_label": "viewmodel" + }, + { + "label": ".initialize()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L49", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_initialize", + "community": 17, + "norm_label": ".initialize()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_kt_context", + "community": 17, + "norm_label": "context" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_kt_string", + "community": 17, + "norm_label": "string" + }, + { + "label": ".autoDetectPhoneNumbers()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L67", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_autodetectphonenumbers", + "community": 17, + "norm_label": ".autodetectphonenumbers()" + }, + { + "label": ".onApiKeyChange()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L113", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_onapikeychange", + "community": 17, + "norm_label": ".onapikeychange()" + }, + { + "label": ".onPhoneNumberSIM1Change()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L117", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_onphonenumbersim1change", + "community": 17, + "norm_label": ".onphonenumbersim1change()" + }, + { + "label": ".onPhoneNumberSIM2Change()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L121", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_onphonenumbersim2change", + "community": 17, + "norm_label": ".onphonenumbersim2change()" + }, + { + "label": ".onServerUrlChange()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L125", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_onserverurlchange", + "community": 17, + "norm_label": ".onserverurlchange()" + }, + { + "label": ".login()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L129", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_login", + "community": 17, + "norm_label": ".login()" + }, + { + "label": ".resolveFcmToken()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/login/LoginViewModel.kt", + "source_location": "L230", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_loginviewmodel_resolvefcmtoken", + "community": 17, + "norm_label": ".resolvefcmtoken()" + }, + { + "label": "Result", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_login_loginviewmodel_kt_result", + "community": 17, + "norm_label": "result" + }, + { + "label": "MainActivityContent.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainActivityContent.kt", + "source_location": "L1", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_main_mainactivitycontent", + "community": 13, + "norm_label": "mainactivitycontent.kt" + }, + { + "label": "MainScreen()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainActivityContent.kt", + "source_location": "L49", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_main_mainactivitycontent_mainscreen", + "community": 13, + "norm_label": "mainscreen()" + }, + { + "label": "PhoneCard()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainActivityContent.kt", + "source_location": "L207", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_main_mainactivitycontent_phonecard", + "community": 13, + "norm_label": "phonecard()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_main_mainactivitycontent_kt_string", + "community": 13, + "norm_label": "string" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "android_app_src_main_java_com_httpsms_ui_main_mainactivitycontent_kt_boolean", + "community": 13, + "norm_label": "boolean" + }, + { + "label": "MainViewModel.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainViewModel.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_kt", + "community": 13, + "norm_label": "mainviewmodel.kt" + }, + { + "label": "MainUiState", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainViewModel.kt", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_mainuistate", + "community": 13, + "norm_label": "mainuistate" + }, + { + "label": "MainViewModel", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainViewModel.kt", + "source_location": "L37", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_mainviewmodel", + "community": 13, + "norm_label": "mainviewmodel" + }, + { + "label": "ViewModel", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_kt_viewmodel", + "community": 340, + "norm_label": "viewmodel" + }, + { + "label": ".initialize()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainViewModel.kt", + "source_location": "L41", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_mainviewmodel_initialize", + "community": 13, + "norm_label": ".initialize()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_kt_context", + "community": 338, + "norm_label": "context" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_kt_string", + "community": 339, + "norm_label": "string" + }, + { + "label": ".updateState()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainViewModel.kt", + "source_location": "L45", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_mainviewmodel_updatestate", + "community": 13, + "norm_label": ".updatestate()" + }, + { + "label": ".sendHeartbeat()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/main/MainViewModel.kt", + "source_location": "L86", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_main_mainviewmodel_mainviewmodel_sendheartbeat", + "community": 13, + "norm_label": ".sendheartbeat()" + }, + { + "label": "SettingsActivityContent.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsActivityContent.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsactivitycontent_kt", + "community": 17, + "norm_label": "settingsactivitycontent.kt" + }, + { + "label": "SettingsScreen()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsActivityContent.kt", + "source_location": "L48", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsactivitycontent_settingsscreen", + "community": 17, + "norm_label": "settingsscreen()" + }, + { + "label": "SwitchSetting()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsActivityContent.kt", + "source_location": "L196", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsactivitycontent_switchsetting", + "community": 17, + "norm_label": "switchsetting()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsactivitycontent_kt_string", + "community": 342, + "norm_label": "string" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsactivitycontent_kt_boolean", + "community": 341, + "norm_label": "boolean" + }, + { + "label": "SettingsViewModel.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_kt", + "community": 70, + "norm_label": "settingsviewmodel.kt" + }, + { + "label": "SettingsUiState", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsuistate", + "community": 70, + "norm_label": "settingsuistate" + }, + { + "label": "SettingsViewModel", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel", + "community": 70, + "norm_label": "settingsviewmodel" + }, + { + "label": "ViewModel", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_kt_viewmodel", + "community": 346, + "norm_label": "viewmodel" + }, + { + "label": ".initialize()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_initialize", + "community": 70, + "norm_label": ".initialize()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_kt_context", + "community": 344, + "norm_label": "context" + }, + { + "label": ".setDebugLogEnabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L46", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setdebuglogenabled", + "community": 70, + "norm_label": ".setdebuglogenabled()" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_kt_boolean", + "community": 343, + "norm_label": "boolean" + }, + { + "label": ".setIncomingSIM1Enabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L51", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setincomingsim1enabled", + "community": 70, + "norm_label": ".setincomingsim1enabled()" + }, + { + "label": ".setActiveSIM1()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L56", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setactivesim1", + "community": 70, + "norm_label": ".setactivesim1()" + }, + { + "label": ".setIncomingCallEventsSIM1Enabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L61", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setincomingcalleventssim1enabled", + "community": 70, + "norm_label": ".setincomingcalleventssim1enabled()" + }, + { + "label": ".setIncomingSIM2Enabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L66", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setincomingsim2enabled", + "community": 70, + "norm_label": ".setincomingsim2enabled()" + }, + { + "label": ".setActiveSIM2()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L71", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setactivesim2", + "community": 70, + "norm_label": ".setactivesim2()" + }, + { + "label": ".setIncomingCallEventsSIM2Enabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L76", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setincomingcalleventssim2enabled", + "community": 70, + "norm_label": ".setincomingcalleventssim2enabled()" + }, + { + "label": ".setEncryptionKey()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L81", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setencryptionkey", + "community": 70, + "norm_label": ".setencryptionkey()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_kt_string", + "community": 345, + "norm_label": "string" + }, + { + "label": ".setEncryptReceivedMessagesEnabled()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L93", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_setencryptreceivedmessagesenabled", + "community": 70, + "norm_label": ".setencryptreceivedmessagesenabled()" + }, + { + "label": ".logout()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/settings/SettingsViewModel.kt", + "source_location": "L98", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_settings_settingsviewmodel_settingsviewmodel_logout", + "community": 70, + "norm_label": ".logout()" + }, + { + "label": "Theme.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/theme/Theme.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_theme_theme_kt", + "community": 17, + "norm_label": "theme.kt" + }, + { + "label": "HttpSmsTheme()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/theme/Theme.kt", + "source_location": "L45", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_theme_theme_httpsmstheme", + "community": 17, + "norm_label": "httpsmstheme()" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_theme_theme_kt_boolean", + "community": 347, + "norm_label": "boolean" + }, + { + "label": "Typography.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/ui/theme/Typography.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_ui_theme_typography_kt", + "community": 348, + "norm_label": "typography.kt" + }, + { + "label": "PhoneNumberValidator.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/validators/PhoneNumberValidator.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_validators_phonenumbervalidator_kt", + "community": 168, + "norm_label": "phonenumbervalidator.kt" + }, + { + "label": "PhoneNumberValidator", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/validators/PhoneNumberValidator.kt", + "source_location": "L6", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_validators_phonenumbervalidator_phonenumbervalidator", + "community": 168, + "norm_label": "phonenumbervalidator" + }, + { + "label": "isValidPhoneNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/validators/PhoneNumberValidator.kt", + "source_location": "L9", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_validators_phonenumbervalidator_isvalidphonenumber", + "community": 168, + "norm_label": "isvalidphonenumber()" + }, + { + "label": "String", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_validators_phonenumbervalidator_kt_string", + "community": 350, + "norm_label": "string" + }, + { + "label": "Boolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_validators_phonenumbervalidator_kt_boolean", + "community": 349, + "norm_label": "boolean" + }, + { + "label": "formatE164()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/validators/PhoneNumberValidator.kt", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_validators_phonenumbervalidator_formate164", + "community": 168, + "norm_label": "formate164()" + }, + { + "label": "fixNumber()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/validators/PhoneNumberValidator.kt", + "source_location": "L30", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_validators_phonenumbervalidator_fixnumber", + "community": 168, + "norm_label": "fixnumber()" + }, + { + "label": "HeartbeatWorker.kt", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/worker/HeartbeatWorker.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_worker_heartbeatworker_kt", + "community": 219, + "norm_label": "heartbeatworker.kt" + }, + { + "label": "HeartbeatWorker", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/worker/HeartbeatWorker.kt", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_worker_heartbeatworker_heartbeatworker", + "community": 219, + "norm_label": "heartbeatworker" + }, + { + "label": "Worker", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_worker_heartbeatworker_kt_worker", + "community": 352, + "norm_label": "worker" + }, + { + "label": ".doWork()", + "file_type": "code", + "source_file": "android/app/src/main/java/com/httpsms/worker/HeartbeatWorker.kt", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_worker_heartbeatworker_heartbeatworker_dowork", + "community": 219, + "norm_label": ".dowork()" + }, + { + "label": "Result", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_main_java_com_httpsms_worker_heartbeatworker_kt_result", + "community": 351, + "norm_label": "result" + }, + { + "label": "ExampleUnitTest.kt", + "file_type": "code", + "source_file": "android/app/src/test/java/com/httpsms/ExampleUnitTest.kt", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_test_java_com_httpsms_exampleunittest_kt", + "community": 223, + "norm_label": "exampleunittest.kt" + }, + { + "label": "ExampleUnitTest", + "file_type": "code", + "source_file": "android/app/src/test/java/com/httpsms/ExampleUnitTest.kt", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_test_java_com_httpsms_exampleunittest_exampleunittest", + "community": 223, + "norm_label": "exampleunittest" + }, + { + "label": ".addition_isCorrect()", + "file_type": "code", + "source_file": "android/app/src/test/java/com/httpsms/ExampleUnitTest.kt", + "source_location": "L13", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_app_src_test_java_com_httpsms_exampleunittest_exampleunittest_addition_iscorrect", + "community": 223, + "norm_label": ".addition_iscorrect()" + }, + { + "label": "build.gradle.kts", + "file_type": "code", + "source_file": "android/build.gradle.kts", + "source_location": "L1", + "_origin": "ast", + "id": "android_build_gradle", + "community": 224, + "norm_label": "build.gradle.kts" + }, + { + "label": "gradlew", + "file_type": "code", + "source_file": "android/gradlew", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_gradlew", + "community": 176, + "norm_label": "gradlew" + }, + { + "label": "gradlew script", + "file_type": "code", + "source_file": "android/gradlew", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_gradlew__entry", + "community": 176, + "norm_label": "gradlew script" + }, + { + "label": "warn()", + "file_type": "code", + "source_file": "android/gradlew", + "source_location": "L52", + "metadata": { + "language": "bash", + "kind": "bash_function" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_gradlew_warn", + "community": 176, + "norm_label": "warn()" + }, + { + "label": "die()", + "file_type": "code", + "source_file": "android/gradlew", + "source_location": "L56", + "metadata": { + "language": "bash", + "kind": "bash_function" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_gradlew_die", + "community": 176, + "norm_label": "die()" + }, + { + "label": "save()", + "file_type": "code", + "source_file": "android/gradlew", + "source_location": "L176", + "metadata": { + "language": "bash", + "kind": "bash_function" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_gradlew_save", + "community": 176, + "norm_label": "save()" + }, + { + "label": "settings.gradle.kts", + "file_type": "code", + "source_file": "android/settings.gradle.kts", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_android_settings_gradle_kts", + "community": 353, + "norm_label": "settings.gradle.kts" + }, + { + "label": "docs.go", + "file_type": "code", + "source_file": "api/docs/docs.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_docs_docs_go", + "community": 281, + "norm_label": "docs.go" + }, + { + "label": "init()", + "file_type": "code", + "source_file": "api/docs/docs.go", + "source_location": "L5406", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_docs_docs_init", + "community": 281, + "norm_label": "init()" + }, + { + "label": "github.com/NdoleStudio/httpsms", + "file_type": "code", + "type": "package", + "ecosystem": "go", + "source_file": "api/go.mod", + "source_location": "L1", + "_origin": "ast", + "id": "pkg_github_com_ndolestudio_httpsms", + "community": 226, + "norm_label": "github.com/ndolestudio/httpsms" + }, + { + "label": "main.go", + "file_type": "code", + "source_file": "api/main.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_main_go", + "community": 132, + "norm_label": "main.go" + }, + { + "label": "main()", + "file_type": "code", + "source_file": "api/main.go", + "source_location": "L32", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_main_main", + "community": 132, + "norm_label": "main()" + }, + { + "label": "token.go", + "file_type": "code", + "source_file": "api/pkg/authlocal/token.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_authlocal_token", + "community": 184, + "norm_label": "token.go" + }, + { + "label": "Sign()", + "file_type": "code", + "source_file": "api/pkg/authlocal/token.go", + "source_location": "L14", + "_origin": "ast", + "id": "api_pkg_authlocal_token_sign", + "community": 184, + "norm_label": "sign()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_authlocal_token_go_duration", + "community": 184, + "norm_label": "duration" + }, + { + "label": "Verify()", + "file_type": "code", + "source_file": "api/pkg/authlocal/token.go", + "source_location": "L32", + "_origin": "ast", + "id": "api_pkg_authlocal_token_verify", + "community": 184, + "norm_label": "verify()" + }, + { + "label": "cache.go", + "file_type": "code", + "source_file": "api/pkg/cache/cache.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_cache_go", + "community": 36, + "norm_label": "cache.go" + }, + { + "label": "Cache", + "file_type": "code", + "source_file": "api/pkg/cache/cache.go", + "source_location": "L9", + "_origin": "ast", + "id": "cache_cache", + "community": 36, + "norm_label": "cache" + }, + { + "label": "memory_cache.go", + "file_type": "code", + "source_file": "api/pkg/cache/memory_cache.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_memory_cache_go", + "community": 178, + "norm_label": "memory_cache.go" + }, + { + "label": "memoryCache", + "file_type": "code", + "source_file": "api/pkg/cache/memory_cache.go", + "source_location": "L13", + "_origin": "ast", + "id": "cache_memorycache", + "community": 178, + "norm_label": "memorycache" + }, + { + "label": "NewMemoryCache()", + "file_type": "code", + "source_file": "api/pkg/cache/memory_cache.go", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_memory_cache_newmemorycache", + "community": 178, + "norm_label": "newmemorycache()" + }, + { + "label": ".Get()", + "file_type": "code", + "source_file": "api/pkg/cache/memory_cache.go", + "source_location": "L27", + "_origin": "ast", + "id": "cache_memorycache_get", + "community": 178, + "norm_label": ".get()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_memory_cache_go_context", + "community": 354, + "norm_label": "context" + }, + { + "label": ".Set()", + "file_type": "code", + "source_file": "api/pkg/cache/memory_cache.go", + "source_location": "L40", + "_origin": "ast", + "id": "cache_memorycache_set", + "community": 178, + "norm_label": ".set()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_memory_cache_go_duration", + "community": 355, + "norm_label": "duration" + }, + { + "label": "redis_cache.go", + "file_type": "code", + "source_file": "api/pkg/cache/redis_cache.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_redis_cache_go", + "community": 22, + "norm_label": "redis_cache.go" + }, + { + "label": "redisCache", + "file_type": "code", + "source_file": "api/pkg/cache/redis_cache.go", + "source_location": "L14", + "_origin": "ast", + "id": "cache_rediscache", + "community": 22, + "norm_label": "rediscache" + }, + { + "label": "NewRedisCache()", + "file_type": "code", + "source_file": "api/pkg/cache/redis_cache.go", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_redis_cache_newrediscache", + "community": 22, + "norm_label": "newrediscache()" + }, + { + "label": ".Get()", + "file_type": "code", + "source_file": "api/pkg/cache/redis_cache.go", + "source_location": "L28", + "_origin": "ast", + "id": "cache_rediscache_get", + "community": 22, + "norm_label": ".get()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_redis_cache_go_context", + "community": 356, + "norm_label": "context" + }, + { + "label": ".Set()", + "file_type": "code", + "source_file": "api/pkg/cache/redis_cache.go", + "source_location": "L43", + "_origin": "ast", + "id": "cache_rediscache_set", + "community": 22, + "norm_label": ".set()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_cache_redis_cache_go_duration", + "community": 357, + "norm_label": "duration" + }, + { + "label": "config.go", + "file_type": "code", + "source_file": "api/pkg/di/config.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_di_config_go", + "community": 132, + "norm_label": "config.go" + }, + { + "label": "LoadEnv()", + "file_type": "code", + "source_file": "api/pkg/di/config.go", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_di_config_loadenv", + "community": 132, + "norm_label": "loadenv()" + }, + { + "label": "getEnvWithDefault()", + "file_type": "code", + "source_file": "api/pkg/di/config.go", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_di_config_getenvwithdefault", + "community": 132, + "norm_label": "getenvwithdefault()" + }, + { + "label": "splitCommaEnv()", + "file_type": "code", + "source_file": "api/pkg/di/config.go", + "source_location": "L28", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_di_config_splitcommaenv", + "community": 132, + "norm_label": "splitcommaenv()" + }, + { + "label": "container.go", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_di_container", + "community": 14, + "norm_label": "container.go" + }, + { + "label": "Container", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L86", + "_origin": "ast", + "id": "di_container", + "community": 1, + "norm_label": "container" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_db", + "community": 21, + "norm_label": "db" + }, + { + "label": "Database", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_database", + "community": 21, + "norm_label": "database" + }, + { + "label": "App", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_app", + "community": 1, + "norm_label": "app" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_phone", + "community": 36, + "norm_label": "phone" + }, + { + "label": "NewLiteContainer()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L102", + "_origin": "ast", + "id": "api_pkg_di_container_newlitecontainer", + "community": 14, + "norm_label": "newlitecontainer()" + }, + { + "label": "NewContainer()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L109", + "_origin": "ast", + "id": "api_pkg_di_container_newcontainer", + "community": 1, + "norm_label": "newcontainer()" + }, + { + "label": ".App()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L173", + "_origin": "ast", + "id": "di_container_app", + "community": 1, + "norm_label": ".app()" + }, + { + "label": ".BearerAPIKeyMiddleware()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L216", + "_origin": "ast", + "id": "di_container_bearerapikeymiddleware", + "community": 1, + "norm_label": ".bearerapikeymiddleware()" + }, + { + "label": "Handler", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_handler", + "community": 1, + "norm_label": "handler" + }, + { + "label": ".PhoneAPIKeyMiddleware()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L222", + "_origin": "ast", + "id": "di_container_phoneapikeymiddleware", + "community": 1, + "norm_label": ".phoneapikeymiddleware()" + }, + { + "label": ".AuthenticatedMiddleware()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L228", + "_origin": "ast", + "id": "di_container_authenticatedmiddleware", + "community": 1, + "norm_label": ".authenticatedmiddleware()" + }, + { + "label": ".Logger()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L234", + "_origin": "ast", + "id": "di_container_logger", + "community": 156, + "norm_label": ".logger()" + }, + { + "label": ".GormLogger()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L243", + "_origin": "ast", + "id": "di_container_gormlogger", + "community": 21, + "norm_label": ".gormlogger()" + }, + { + "label": "Interface", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_interface", + "community": 21, + "norm_label": "interface" + }, + { + "label": ".connect()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L251", + "_origin": "ast", + "id": "di_container_connect", + "community": 21, + "norm_label": ".connect()" + }, + { + "label": "Config", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "config", + "community": 21, + "norm_label": "config" + }, + { + "label": ".gormConfig()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L255", + "_origin": "ast", + "id": "di_container_gormconfig", + "community": 21, + "norm_label": ".gormconfig()" + }, + { + "label": ".DedicatedDB()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L266", + "_origin": "ast", + "id": "di_container_dedicateddb", + "community": 21, + "norm_label": ".dedicateddb()" + }, + { + "label": ".MongoDB()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L300", + "_origin": "ast", + "id": "di_container_mongodb", + "community": 21, + "norm_label": ".mongodb()" + }, + { + "label": ".DBWithoutMigration()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L317", + "_origin": "ast", + "id": "di_container_dbwithoutmigration", + "community": 21, + "norm_label": ".dbwithoutmigration()" + }, + { + "label": ".DB()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L337", + "_origin": "ast", + "id": "di_container_db", + "community": 156, + "norm_label": ".db()" + }, + { + "label": ".FirebaseApp()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L422", + "_origin": "ast", + "id": "di_container_firebaseapp", + "community": 1, + "norm_label": ".firebaseapp()" + }, + { + "label": ".InMemoryCache()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L433", + "_origin": "ast", + "id": "di_container_inmemorycache", + "community": 36, + "norm_label": ".inmemorycache()" + }, + { + "label": ".Cache()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L444", + "_origin": "ast", + "id": "di_container_cache", + "community": 156, + "norm_label": ".cache()" + }, + { + "label": ".FirebaseAuthClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L472", + "_origin": "ast", + "id": "di_container_firebaseauthclient", + "community": 1, + "norm_label": ".firebaseauthclient()" + }, + { + "label": ".CloudTasksClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L482", + "_origin": "ast", + "id": "di_container_cloudtasksclient", + "community": 1, + "norm_label": ".cloudtasksclient()" + }, + { + "label": ".EventsQueueConfiguration()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L494", + "_origin": "ast", + "id": "di_container_eventsqueueconfiguration", + "community": 43, + "norm_label": ".eventsqueueconfiguration()" + }, + { + "label": ".EventsQueue()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L506", + "_origin": "ast", + "id": "di_container_eventsqueue", + "community": 43, + "norm_label": ".eventsqueue()" + }, + { + "label": ".EmulatorEventsQueue()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L517", + "_origin": "ast", + "id": "di_container_emulatoreventsqueue", + "community": 43, + "norm_label": ".emulatoreventsqueue()" + }, + { + "label": ".CloudTaskEventsQueue()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L528", + "_origin": "ast", + "id": "di_container_cloudtaskeventsqueue", + "community": 43, + "norm_label": ".cloudtaskeventsqueue()" + }, + { + "label": ".FCMClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L542", + "_origin": "ast", + "id": "di_container_fcmclient", + "community": 196, + "norm_label": ".fcmclient()" + }, + { + "label": ".FirebaseCredentials()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L561", + "_origin": "ast", + "id": "di_container_firebasecredentials", + "community": 1, + "norm_label": ".firebasecredentials()" + }, + { + "label": ".Tracer()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L567", + "_origin": "ast", + "id": "di_container_tracer", + "community": 156, + "norm_label": ".tracer()" + }, + { + "label": ".MessageHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L576", + "_origin": "ast", + "id": "di_container_messagehandlervalidator", + "community": 14, + "norm_label": ".messagehandlervalidator()" + }, + { + "label": ".TurnstileTokenValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L588", + "_origin": "ast", + "id": "di_container_turnstiletokenvalidator", + "community": 14, + "norm_label": ".turnstiletokenvalidator()" + }, + { + "label": ".BulkMessageHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L599", + "_origin": "ast", + "id": "di_container_bulkmessagehandlervalidator", + "community": 156, + "norm_label": ".bulkmessagehandlervalidator()" + }, + { + "label": ".HeartbeatHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L611", + "_origin": "ast", + "id": "di_container_heartbeathandler", + "community": 156, + "norm_label": ".heartbeathandler()" + }, + { + "label": ".BillingHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L622", + "_origin": "ast", + "id": "di_container_billinghandler", + "community": 34, + "norm_label": ".billinghandler()" + }, + { + "label": ".WebhookHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L633", + "_origin": "ast", + "id": "di_container_webhookhandler", + "community": 8, + "norm_label": ".webhookhandler()" + }, + { + "label": ".HeartbeatHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L644", + "_origin": "ast", + "id": "di_container_heartbeathandlervalidator", + "community": 156, + "norm_label": ".heartbeathandlervalidator()" + }, + { + "label": ".BillingHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L653", + "_origin": "ast", + "id": "di_container_billinghandlervalidator", + "community": 34, + "norm_label": ".billinghandlervalidator()" + }, + { + "label": ".DiscordHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L662", + "_origin": "ast", + "id": "di_container_discordhandlervalidator", + "community": 156, + "norm_label": ".discordhandlervalidator()" + }, + { + "label": ".WebhookHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L672", + "_origin": "ast", + "id": "di_container_webhookhandlervalidator", + "community": 156, + "norm_label": ".webhookhandlervalidator()" + }, + { + "label": ".MessageThreadHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L682", + "_origin": "ast", + "id": "di_container_messagethreadhandler", + "community": 156, + "norm_label": ".messagethreadhandler()" + }, + { + "label": ".MessageThreadHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L693", + "_origin": "ast", + "id": "di_container_messagethreadhandlervalidator", + "community": 156, + "norm_label": ".messagethreadhandlervalidator()" + }, + { + "label": ".PhoneHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L702", + "_origin": "ast", + "id": "di_container_phonehandlervalidator", + "community": 156, + "norm_label": ".phonehandlervalidator()" + }, + { + "label": ".UserHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L712", + "_origin": "ast", + "id": "di_container_userhandlervalidator", + "community": 156, + "norm_label": ".userhandlervalidator()" + }, + { + "label": ".EventDispatcher()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L722", + "_origin": "ast", + "id": "di_container_eventdispatcher", + "community": 156, + "norm_label": ".eventdispatcher()" + }, + { + "label": ".Float64Histogram()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L741", + "_origin": "ast", + "id": "di_container_float64histogram", + "community": 1, + "norm_label": ".float64histogram()" + }, + { + "label": "Float64Histogram", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_float64histogram", + "community": 1, + "norm_label": "float64histogram" + }, + { + "label": ".MessageRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L755", + "_origin": "ast", + "id": "di_container_messagerepository", + "community": 156, + "norm_label": ".messagerepository()" + }, + { + "label": ".PhoneAPIKeyRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L765", + "_origin": "ast", + "id": "di_container_phoneapikeyrepository", + "community": 36, + "norm_label": ".phoneapikeyrepository()" + }, + { + "label": ".Integration3CXRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L776", + "_origin": "ast", + "id": "di_container_integration3cxrepository", + "community": 156, + "norm_label": ".integration3cxrepository()" + }, + { + "label": ".PhoneRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L786", + "_origin": "ast", + "id": "di_container_phonerepository", + "community": 36, + "norm_label": ".phonerepository()" + }, + { + "label": ".MessageSendScheduleRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L797", + "_origin": "ast", + "id": "di_container_messagesendschedulerepository", + "community": 156, + "norm_label": ".messagesendschedulerepository()" + }, + { + "label": ".MessageSendScheduleService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L807", + "_origin": "ast", + "id": "di_container_messagesendscheduleservice", + "community": 156, + "norm_label": ".messagesendscheduleservice()" + }, + { + "label": ".MessageSendScheduleHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L818", + "_origin": "ast", + "id": "di_container_messagesendschedulehandlervalidator", + "community": 156, + "norm_label": ".messagesendschedulehandlervalidator()" + }, + { + "label": ".MessageSendScheduleHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L827", + "_origin": "ast", + "id": "di_container_messagesendschedulehandler", + "community": 156, + "norm_label": ".messagesendschedulehandler()" + }, + { + "label": ".BillingUsageRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L839", + "_origin": "ast", + "id": "di_container_billingusagerepository", + "community": 156, + "norm_label": ".billingusagerepository()" + }, + { + "label": ".EntitlementService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L849", + "_origin": "ast", + "id": "di_container_entitlementservice", + "community": 60, + "norm_label": ".entitlementservice()" + }, + { + "label": ".DiscordRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L860", + "_origin": "ast", + "id": "di_container_discordrepository", + "community": 156, + "norm_label": ".discordrepository()" + }, + { + "label": ".WebhookRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L870", + "_origin": "ast", + "id": "di_container_webhookrepository", + "community": 156, + "norm_label": ".webhookrepository()" + }, + { + "label": ".PhoneNotificationRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L880", + "_origin": "ast", + "id": "di_container_phonenotificationrepository", + "community": 156, + "norm_label": ".phonenotificationrepository()" + }, + { + "label": ".MessageThreadRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L890", + "_origin": "ast", + "id": "di_container_messagethreadrepository", + "community": 156, + "norm_label": ".messagethreadrepository()" + }, + { + "label": ".HeartbeatMonitorRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L900", + "_origin": "ast", + "id": "di_container_heartbeatmonitorrepository", + "community": 21, + "norm_label": ".heartbeatmonitorrepository()" + }, + { + "label": ".HeartbeatService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L920", + "_origin": "ast", + "id": "di_container_heartbeatservice", + "community": 156, + "norm_label": ".heartbeatservice()" + }, + { + "label": ".BillingService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L932", + "_origin": "ast", + "id": "di_container_billingservice", + "community": 65, + "norm_label": ".billingservice()" + }, + { + "label": ".DiscordService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L946", + "_origin": "ast", + "id": "di_container_discordservice", + "community": 156, + "norm_label": ".discordservice()" + }, + { + "label": ".WebhookService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L958", + "_origin": "ast", + "id": "di_container_webhookservice", + "community": 156, + "norm_label": ".webhookservice()" + }, + { + "label": ".Integration3CXService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L973", + "_origin": "ast", + "id": "di_container_integration3cxservice", + "community": 156, + "norm_label": ".integration3cxservice()" + }, + { + "label": ".HTTPClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L984", + "_origin": "ast", + "id": "di_container_httpclient", + "community": 37, + "norm_label": ".httpclient()" + }, + { + "label": ".HTTPRoundTripper()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L993", + "_origin": "ast", + "id": "di_container_httproundtripper", + "community": 37, + "norm_label": ".httproundtripper()" + }, + { + "label": "RoundTripper", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_di_container_go_roundtripper", + "community": 37, + "norm_label": "roundtripper" + }, + { + "label": ".HTTPRoundTripperWithoutRetry()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1003", + "_origin": "ast", + "id": "di_container_httproundtripperwithoutretry", + "community": 37, + "norm_label": ".httproundtripperwithoutretry()" + }, + { + "label": ".OtelResources()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1012", + "_origin": "ast", + "id": "di_container_otelresources", + "community": 1, + "norm_label": ".otelresources()" + }, + { + "label": "Resource", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "resource", + "community": 1, + "norm_label": "resource" + }, + { + "label": ".RetryHTTPRoundTripper()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1023", + "_origin": "ast", + "id": "di_container_retryhttproundtripper", + "community": 37, + "norm_label": ".retryhttproundtripper()" + }, + { + "label": ".PhoneService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1032", + "_origin": "ast", + "id": "di_container_phoneservice", + "community": 156, + "norm_label": ".phoneservice()" + }, + { + "label": ".MarketingService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1043", + "_origin": "ast", + "id": "di_container_marketingservice", + "community": 37, + "norm_label": ".marketingservice()" + }, + { + "label": ".UserService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1054", + "_origin": "ast", + "id": "di_container_userservice", + "community": 65, + "norm_label": ".userservice()" + }, + { + "label": ".Mailer()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1070", + "_origin": "ast", + "id": "di_container_mailer", + "community": 65, + "norm_label": ".mailer()" + }, + { + "label": ".UserEmailFactory()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1086", + "_origin": "ast", + "id": "di_container_useremailfactory", + "community": 65, + "norm_label": ".useremailfactory()" + }, + { + "label": ".NotificationEmailFactory()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1096", + "_origin": "ast", + "id": "di_container_notificationemailfactory", + "community": 81, + "norm_label": ".notificationemailfactory()" + }, + { + "label": ".MessageThreadService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1106", + "_origin": "ast", + "id": "di_container_messagethreadservice", + "community": 156, + "norm_label": ".messagethreadservice()" + }, + { + "label": ".EmailNotificationService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1118", + "_origin": "ast", + "id": "di_container_emailnotificationservice", + "community": 156, + "norm_label": ".emailnotificationservice()" + }, + { + "label": ".MessageHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1131", + "_origin": "ast", + "id": "di_container_messagehandler", + "community": 14, + "norm_label": ".messagehandler()" + }, + { + "label": ".BulkMessageHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1143", + "_origin": "ast", + "id": "di_container_bulkmessagehandler", + "community": 90, + "norm_label": ".bulkmessagehandler()" + }, + { + "label": ".UserHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1155", + "_origin": "ast", + "id": "di_container_userhandler", + "community": 96, + "norm_label": ".userhandler()" + }, + { + "label": ".FirebaseEmailAuthHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1166", + "_origin": "ast", + "id": "di_container_firebaseemailauthhandler", + "community": 65, + "norm_label": ".firebaseemailauthhandler()" + }, + { + "label": ".PhoneHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1177", + "_origin": "ast", + "id": "di_container_phonehandler", + "community": 156, + "norm_label": ".phonehandler()" + }, + { + "label": ".EventsHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1188", + "_origin": "ast", + "id": "di_container_eventshandler", + "community": 43, + "norm_label": ".eventshandler()" + }, + { + "label": ".RegisterMessageListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1200", + "_origin": "ast", + "id": "di_container_registermessagelisteners", + "community": 156, + "norm_label": ".registermessagelisteners()" + }, + { + "label": ".RegisterMessageSendScheduleListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1214", + "_origin": "ast", + "id": "di_container_registermessagesendschedulelisteners", + "community": 156, + "norm_label": ".registermessagesendschedulelisteners()" + }, + { + "label": ".LemonsqueezyService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1228", + "_origin": "ast", + "id": "di_container_lemonsqueezyservice", + "community": 156, + "norm_label": ".lemonsqueezyservice()" + }, + { + "label": ".LemonsqueezyHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1239", + "_origin": "ast", + "id": "di_container_lemonsqueezyhandler", + "community": 156, + "norm_label": ".lemonsqueezyhandler()" + }, + { + "label": ".Integration3CXHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1251", + "_origin": "ast", + "id": "di_container_integration3cxhandler", + "community": 141, + "norm_label": ".integration3cxhandler()" + }, + { + "label": ".PhoneAPIKeyHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1263", + "_origin": "ast", + "id": "di_container_phoneapikeyhandler", + "community": 156, + "norm_label": ".phoneapikeyhandler()" + }, + { + "label": ".DiscordHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1276", + "_origin": "ast", + "id": "di_container_discordhandler", + "community": 123, + "norm_label": ".discordhandler()" + }, + { + "label": ".LemonsqueezyHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1291", + "_origin": "ast", + "id": "di_container_lemonsqueezyhandlervalidator", + "community": 37, + "norm_label": ".lemonsqueezyhandlervalidator()" + }, + { + "label": ".PhoneAPIKeyHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1301", + "_origin": "ast", + "id": "di_container_phoneapikeyhandlervalidator", + "community": 156, + "norm_label": ".phoneapikeyhandlervalidator()" + }, + { + "label": ".LemonsqueezyClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1310", + "_origin": "ast", + "id": "di_container_lemonsqueezyclient", + "community": 37, + "norm_label": ".lemonsqueezyclient()" + }, + { + "label": ".PusherClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1320", + "_origin": "ast", + "id": "di_container_pusherclient", + "community": 37, + "norm_label": ".pusherclient()" + }, + { + "label": ".DiscordClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1332", + "_origin": "ast", + "id": "di_container_discordclient", + "community": 37, + "norm_label": ".discordclient()" + }, + { + "label": ".PlunkClient()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1342", + "_origin": "ast", + "id": "di_container_plunkclient", + "community": 37, + "norm_label": ".plunkclient()" + }, + { + "label": ".RegisterLemonsqueezyRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1352", + "_origin": "ast", + "id": "di_container_registerlemonsqueezyroutes", + "community": 1, + "norm_label": ".registerlemonsqueezyroutes()" + }, + { + "label": ".RegisterIntegration3CXRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1358", + "_origin": "ast", + "id": "di_container_registerintegration3cxroutes", + "community": 1, + "norm_label": ".registerintegration3cxroutes()" + }, + { + "label": ".RegisterPhoneAPIKeyRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1364", + "_origin": "ast", + "id": "di_container_registerphoneapikeyroutes", + "community": 1, + "norm_label": ".registerphoneapikeyroutes()" + }, + { + "label": ".RegisterDiscordRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1370", + "_origin": "ast", + "id": "di_container_registerdiscordroutes", + "community": 1, + "norm_label": ".registerdiscordroutes()" + }, + { + "label": ".RegisterMessageThreadListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1376", + "_origin": "ast", + "id": "di_container_registermessagethreadlisteners", + "community": 156, + "norm_label": ".registermessagethreadlisteners()" + }, + { + "label": ".RegisterEmailNotificationListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1390", + "_origin": "ast", + "id": "di_container_registeremailnotificationlisteners", + "community": 156, + "norm_label": ".registeremailnotificationlisteners()" + }, + { + "label": ".RegisterNotificationListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1404", + "_origin": "ast", + "id": "di_container_registernotificationlisteners", + "community": 156, + "norm_label": ".registernotificationlisteners()" + }, + { + "label": ".RegisterHeartbeatListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1418", + "_origin": "ast", + "id": "di_container_registerheartbeatlisteners", + "community": 156, + "norm_label": ".registerheartbeatlisteners()" + }, + { + "label": ".RegisterUserListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1432", + "_origin": "ast", + "id": "di_container_registeruserlisteners", + "community": 156, + "norm_label": ".registeruserlisteners()" + }, + { + "label": ".RegisterBillingListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1446", + "_origin": "ast", + "id": "di_container_registerbillinglisteners", + "community": 156, + "norm_label": ".registerbillinglisteners()" + }, + { + "label": ".RegisterDiscordListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1460", + "_origin": "ast", + "id": "di_container_registerdiscordlisteners", + "community": 156, + "norm_label": ".registerdiscordlisteners()" + }, + { + "label": ".RegisterMarketingListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1474", + "_origin": "ast", + "id": "di_container_registermarketinglisteners", + "community": 156, + "norm_label": ".registermarketinglisteners()" + }, + { + "label": ".RegisterIntegration3CXListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1494", + "_origin": "ast", + "id": "di_container_registerintegration3cxlisteners", + "community": 156, + "norm_label": ".registerintegration3cxlisteners()" + }, + { + "label": ".RegisterPhoneAPIKeyListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1508", + "_origin": "ast", + "id": "di_container_registerphoneapikeylisteners", + "community": 156, + "norm_label": ".registerphoneapikeylisteners()" + }, + { + "label": ".RegisterPhoneListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1522", + "_origin": "ast", + "id": "di_container_registerphonelisteners", + "community": 156, + "norm_label": ".registerphonelisteners()" + }, + { + "label": ".RegisterWebsocketListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1536", + "_origin": "ast", + "id": "di_container_registerwebsocketlisteners", + "community": 156, + "norm_label": ".registerwebsocketlisteners()" + }, + { + "label": ".RegisterWebhookListeners()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1556", + "_origin": "ast", + "id": "di_container_registerwebhooklisteners", + "community": 156, + "norm_label": ".registerwebhooklisteners()" + }, + { + "label": ".MessageService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1570", + "_origin": "ast", + "id": "di_container_messageservice", + "community": 156, + "norm_label": ".messageservice()" + }, + { + "label": ".AttachmentRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1584", + "_origin": "ast", + "id": "di_container_attachmentrepository", + "community": 156, + "norm_label": ".attachmentrepository()" + }, + { + "label": ".APIBaseURL()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1614", + "_origin": "ast", + "id": "di_container_apibaseurl", + "community": 1, + "norm_label": ".apibaseurl()" + }, + { + "label": ".AttachmentHandler()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1620", + "_origin": "ast", + "id": "di_container_attachmenthandler", + "community": 156, + "norm_label": ".attachmenthandler()" + }, + { + "label": ".RegisterAttachmentRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1630", + "_origin": "ast", + "id": "di_container_registerattachmentroutes", + "community": 1, + "norm_label": ".registerattachmentroutes()" + }, + { + "label": ".PhoneAPIKeyService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1636", + "_origin": "ast", + "id": "di_container_phoneapikeyservice", + "community": 156, + "norm_label": ".phoneapikeyservice()" + }, + { + "label": ".NotificationService()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1647", + "_origin": "ast", + "id": "di_container_notificationservice", + "community": 156, + "norm_label": ".notificationservice()" + }, + { + "label": ".RegisterMessageRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1661", + "_origin": "ast", + "id": "di_container_registermessageroutes", + "community": 1, + "norm_label": ".registermessageroutes()" + }, + { + "label": ".RegisterBulkMessageRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1668", + "_origin": "ast", + "id": "di_container_registerbulkmessageroutes", + "community": 1, + "norm_label": ".registerbulkmessageroutes()" + }, + { + "label": ".RegisterMessageThreadRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1674", + "_origin": "ast", + "id": "di_container_registermessagethreadroutes", + "community": 1, + "norm_label": ".registermessagethreadroutes()" + }, + { + "label": ".RegisterHeartbeatRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1680", + "_origin": "ast", + "id": "di_container_registerheartbeatroutes", + "community": 1, + "norm_label": ".registerheartbeatroutes()" + }, + { + "label": ".RegisterBillingRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1687", + "_origin": "ast", + "id": "di_container_registerbillingroutes", + "community": 1, + "norm_label": ".registerbillingroutes()" + }, + { + "label": ".RegisterWebhookRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1693", + "_origin": "ast", + "id": "di_container_registerwebhookroutes", + "community": 1, + "norm_label": ".registerwebhookroutes()" + }, + { + "label": ".RegisterPhoneRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1699", + "_origin": "ast", + "id": "di_container_registerphoneroutes", + "community": 1, + "norm_label": ".registerphoneroutes()" + }, + { + "label": ".RegisterUserRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1706", + "_origin": "ast", + "id": "di_container_registeruserroutes", + "community": 1, + "norm_label": ".registeruserroutes()" + }, + { + "label": ".RegisterFirebaseEmailAuthRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1712", + "_origin": "ast", + "id": "di_container_registerfirebaseemailauthroutes", + "community": 1, + "norm_label": ".registerfirebaseemailauthroutes()" + }, + { + "label": ".RegisterMessageSendScheduleRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1718", + "_origin": "ast", + "id": "di_container_registermessagesendscheduleroutes", + "community": 1, + "norm_label": ".registermessagesendscheduleroutes()" + }, + { + "label": ".RegisterEventRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1724", + "_origin": "ast", + "id": "di_container_registereventroutes", + "community": 1, + "norm_label": ".registereventroutes()" + }, + { + "label": ".RegisterSwaggerRoutes()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1730", + "_origin": "ast", + "id": "di_container_registerswaggerroutes", + "community": 1, + "norm_label": ".registerswaggerroutes()" + }, + { + "label": ".HeartbeatRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1746", + "_origin": "ast", + "id": "di_container_heartbeatrepository", + "community": 21, + "norm_label": ".heartbeatrepository()" + }, + { + "label": ".UserRepository()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1766", + "_origin": "ast", + "id": "di_container_userrepository", + "community": 65, + "norm_label": ".userrepository()" + }, + { + "label": ".PhoneRistrettoCache()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1777", + "_origin": "ast", + "id": "di_container_phoneristrettocache", + "community": 36, + "norm_label": ".phoneristrettocache()" + }, + { + "label": ".UserRistrettoCache()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1795", + "_origin": "ast", + "id": "di_container_userristrettocache", + "community": 36, + "norm_label": ".userristrettocache()" + }, + { + "label": ".InitializeTraceProvider()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1813", + "_origin": "ast", + "id": "di_container_initializetraceprovider", + "community": 1, + "norm_label": ".initializetraceprovider()" + }, + { + "label": ".initializeGoogleTraceProvider()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1837", + "_origin": "ast", + "id": "di_container_initializegoogletraceprovider", + "community": 1, + "norm_label": ".initializegoogletraceprovider()" + }, + { + "label": ".initializeAxiomTraceProvider()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1873", + "_origin": "ast", + "id": "di_container_initializeaxiomtraceprovider", + "community": 1, + "norm_label": ".initializeaxiomtraceprovider()" + }, + { + "label": ".initializeUptraceProvider()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1932", + "_origin": "ast", + "id": "di_container_initializeuptraceprovider", + "community": 1, + "norm_label": ".initializeuptraceprovider()" + }, + { + "label": "logger()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1951", + "_origin": "ast", + "id": "api_pkg_di_container_logger", + "community": 14, + "norm_label": "logger()" + }, + { + "label": "logDriver()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1965", + "_origin": "ast", + "id": "api_pkg_di_container_logdriver", + "community": 14, + "norm_label": "logdriver()" + }, + { + "label": "axiomLogger()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1972", + "_origin": "ast", + "id": "api_pkg_di_container_axiomlogger", + "community": 14, + "norm_label": "axiomlogger()" + }, + { + "label": "instanceID()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1985", + "_origin": "ast", + "id": "api_pkg_di_container_instanceid", + "community": 14, + "norm_label": "instanceid()" + }, + { + "label": "getGCEInstanceID()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L1996", + "_origin": "ast", + "id": "api_pkg_di_container_getgceinstanceid", + "community": 14, + "norm_label": "getgceinstanceid()" + }, + { + "label": "consoleLogger()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L2004", + "_origin": "ast", + "id": "api_pkg_di_container_consolelogger", + "community": 14, + "norm_label": "consolelogger()" + }, + { + "label": "isLocal()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L2015", + "_origin": "ast", + "id": "api_pkg_di_container_islocal", + "community": 14, + "norm_label": "islocal()" + }, + { + "label": "paidFeaturesEnabled()", + "file_type": "code", + "source_file": "api/pkg/di/container.go", + "source_location": "L2019", + "_origin": "ast", + "id": "api_pkg_di_container_paidfeaturesenabled", + "community": 1, + "norm_label": "paidfeaturesenabled()" + }, + { + "label": "application.go", + "file_type": "code", + "source_file": "api/pkg/discord/application.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_application_go", + "community": 118, + "norm_label": "application.go" + }, + { + "label": "CommandCreateRequest", + "file_type": "code", + "source_file": "api/pkg/discord/application.go", + "source_location": "L4", + "_origin": "ast", + "id": "discord_commandcreaterequest", + "community": 118, + "norm_label": "commandcreaterequest" + }, + { + "label": "CommandCreateRequestOption", + "file_type": "code", + "source_file": "api/pkg/discord/application.go", + "source_location": "L12", + "_origin": "ast", + "id": "discord_commandcreaterequestoption", + "community": 118, + "norm_label": "commandcreaterequestoption" + }, + { + "label": "CommandCreateResponse", + "file_type": "code", + "source_file": "api/pkg/discord/application.go", + "source_location": "L20", + "_origin": "ast", + "id": "discord_commandcreateresponse", + "community": 118, + "norm_label": "commandcreateresponse" + }, + { + "label": "CommandCreateResponseOption", + "file_type": "code", + "source_file": "api/pkg/discord/application.go", + "source_location": "L36", + "_origin": "ast", + "id": "discord_commandcreateresponseoption", + "community": 118, + "norm_label": "commandcreateresponseoption" + }, + { + "label": "application_service.go", + "file_type": "code", + "source_file": "api/pkg/discord/application_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_application_service_go", + "community": 118, + "norm_label": "application_service.go" + }, + { + "label": "ApplicationService", + "file_type": "code", + "source_file": "api/pkg/discord/application_service.go", + "source_location": "L11", + "_origin": "ast", + "id": "discord_applicationservice", + "community": 118, + "norm_label": "applicationservice" + }, + { + "label": ".CreateCommand()", + "file_type": "code", + "source_file": "api/pkg/discord/application_service.go", + "source_location": "L16", + "_origin": "ast", + "id": "discord_applicationservice_createcommand", + "community": 118, + "norm_label": ".createcommand()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_application_service_go_context", + "community": 358, + "norm_label": "context" + }, + { + "label": "channel_service.go", + "file_type": "code", + "source_file": "api/pkg/discord/channel_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_channel_service_go", + "community": 192, + "norm_label": "channel_service.go" + }, + { + "label": "ChannelService", + "file_type": "code", + "source_file": "api/pkg/discord/channel_service.go", + "source_location": "L11", + "_origin": "ast", + "id": "discord_channelservice", + "community": 192, + "norm_label": "channelservice" + }, + { + "label": ".CreateMessage()", + "file_type": "code", + "source_file": "api/pkg/discord/channel_service.go", + "source_location": "L16", + "_origin": "ast", + "id": "discord_channelservice_createmessage", + "community": 192, + "norm_label": ".createmessage()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_channel_service_go_context", + "community": 359, + "norm_label": "context" + }, + { + "label": ".Get()", + "file_type": "code", + "source_file": "api/pkg/discord/channel_service.go", + "source_location": "L38", + "_origin": "ast", + "id": "discord_channelservice_get", + "community": 192, + "norm_label": ".get()" + }, + { + "label": "client.go", + "file_type": "code", + "source_file": "api/pkg/discord/client.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_go", + "community": 37, + "norm_label": "client.go" + }, + { + "label": "service", + "file_type": "code", + "source_file": "api/pkg/discord/client.go", + "source_location": "L12", + "_origin": "ast", + "id": "discord_service", + "community": 37, + "norm_label": "service" + }, + { + "label": "Client", + "file_type": "code", + "source_file": "api/pkg/discord/client.go", + "source_location": "L18", + "_origin": "ast", + "id": "discord_client", + "community": 37, + "norm_label": "client" + }, + { + "label": "New()", + "file_type": "code", + "source_file": "api/pkg/discord/client.go", + "source_location": "L31", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_new", + "community": 87, + "norm_label": "new()" + }, + { + "label": ".newRequest()", + "file_type": "code", + "source_file": "api/pkg/discord/client.go", + "source_location": "L57", + "_origin": "ast", + "id": "discord_client_newrequest", + "community": 37, + "norm_label": ".newrequest()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_go_context", + "community": 360, + "norm_label": "context" + }, + { + "label": "Request", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_go_request", + "community": 361, + "norm_label": "request" + }, + { + "label": ".do()", + "file_type": "code", + "source_file": "api/pkg/discord/client.go", + "source_location": "L82", + "_origin": "ast", + "id": "discord_client_do", + "community": 37, + "norm_label": ".do()" + }, + { + "label": ".newResponse()", + "file_type": "code", + "source_file": "api/pkg/discord/client.go", + "source_location": "L108", + "_origin": "ast", + "id": "discord_client_newresponse", + "community": 37, + "norm_label": ".newresponse()" + }, + { + "label": "client_config.go", + "file_type": "code", + "source_file": "api/pkg/discord/client_config.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_config_go", + "community": 2, + "norm_label": "client_config.go" + }, + { + "label": "clientConfig", + "file_type": "code", + "source_file": "api/pkg/discord/client_config.go", + "source_location": "L5", + "_origin": "ast", + "id": "discord_clientconfig", + "community": 2, + "norm_label": "clientconfig" + }, + { + "label": "defaultClientConfig()", + "file_type": "code", + "source_file": "api/pkg/discord/client_config.go", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_config_defaultclientconfig", + "community": 2, + "norm_label": "defaultclientconfig()" + }, + { + "label": "client_option.go", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_go", + "community": 2, + "norm_label": "client_option.go" + }, + { + "label": "Option", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L9", + "_origin": "ast", + "id": "discord_option", + "community": 2, + "norm_label": "option" + }, + { + "label": "clientOptionFunc", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L13", + "_origin": "ast", + "id": "discord_clientoptionfunc", + "community": 2, + "norm_label": "clientoptionfunc" + }, + { + "label": ".apply()", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L15", + "_origin": "ast", + "id": "discord_clientoptionfunc_apply", + "community": 2, + "norm_label": ".apply()" + }, + { + "label": "WithHTTPClient()", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_withhttpclient", + "community": 2, + "norm_label": "withhttpclient()" + }, + { + "label": "WithBaseURL()", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L30", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_withbaseurl", + "community": 2, + "norm_label": "withbaseurl()" + }, + { + "label": "WithApplicationID()", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L39", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_withapplicationid", + "community": 2, + "norm_label": "withapplicationid()" + }, + { + "label": "WithBotToken()", + "file_type": "code", + "source_file": "api/pkg/discord/client_option.go", + "source_location": "L46", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_withbottoken", + "community": 2, + "norm_label": "withbottoken()" + }, + { + "label": "client_option_test.go", + "file_type": "code", + "source_file": "api/pkg/discord/client_option_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_test_go", + "community": 2, + "norm_label": "client_option_test.go" + }, + { + "label": "TestWithHTTPClient()", + "file_type": "code", + "source_file": "api/pkg/discord/client_option_test.go", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_test_testwithhttpclient", + "community": 2, + "norm_label": "testwithhttpclient()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_test_go_t", + "community": 362, + "norm_label": "t" + }, + { + "label": "TestWithBaseURL()", + "file_type": "code", + "source_file": "api/pkg/discord/client_option_test.go", + "source_location": "L42", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_client_option_test_testwithbaseurl", + "community": 2, + "norm_label": "testwithbaseurl()" + }, + { + "label": "guild_service.go", + "file_type": "code", + "source_file": "api/pkg/discord/guild_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_guild_service_go", + "community": 37, + "norm_label": "guild_service.go" + }, + { + "label": "GuildService", + "file_type": "code", + "source_file": "api/pkg/discord/guild_service.go", + "source_location": "L11", + "_origin": "ast", + "id": "discord_guildservice", + "community": 37, + "norm_label": "guildservice" + }, + { + "label": ".Get()", + "file_type": "code", + "source_file": "api/pkg/discord/guild_service.go", + "source_location": "L16", + "_origin": "ast", + "id": "discord_guildservice_get", + "community": 37, + "norm_label": ".get()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_guild_service_go_context", + "community": 363, + "norm_label": "context" + }, + { + "label": "response.go", + "file_type": "code", + "source_file": "api/pkg/discord/response.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_discord_response_go", + "community": 197, + "norm_label": "response.go" + }, + { + "label": "Response", + "file_type": "code", + "source_file": "api/pkg/discord/response.go", + "source_location": "L11", + "_origin": "ast", + "id": "discord_response", + "community": 197, + "norm_label": "response" + }, + { + "label": ".Error()", + "file_type": "code", + "source_file": "api/pkg/discord/response.go", + "source_location": "L17", + "_origin": "ast", + "id": "discord_response_error", + "community": 197, + "norm_label": ".error()" + }, + { + "label": ".errorMessage()", + "file_type": "code", + "source_file": "api/pkg/discord/response.go", + "source_location": "L26", + "_origin": "ast", + "id": "discord_response_errormessage", + "community": 197, + "norm_label": ".errormessage()" + }, + { + "label": "event_payload_formatter.go", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_go", + "community": 81, + "norm_label": "event_payload_formatter.go" + }, + { + "label": "formatEventPayload()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_formateventpayload", + "community": 81, + "norm_label": "formateventpayload()" + }, + { + "label": "HTML", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "html", + "community": 81, + "norm_label": "html" + }, + { + "label": "indentEventPayloadJSON()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L31", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_indenteventpayloadjson", + "community": 81, + "norm_label": "indenteventpayloadjson()" + }, + { + "label": "highlightEventPayloadJSON()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L40", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_highlighteventpayloadjson", + "community": 81, + "norm_label": "highlighteventpayloadjson()" + }, + { + "label": "eventPayloadJSONStringEnd()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L80", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_eventpayloadjsonstringend", + "community": 81, + "norm_label": "eventpayloadjsonstringend()" + }, + { + "label": "eventPayloadNextNonSpace()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L96", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_eventpayloadnextnonspace", + "community": 81, + "norm_label": "eventpayloadnextnonspace()" + }, + { + "label": "isEventPayloadDigit()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L109", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_iseventpayloaddigit", + "community": 81, + "norm_label": "iseventpayloaddigit()" + }, + { + "label": "isEventPayloadNumberCharacter()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L113", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_iseventpayloadnumbercharacter", + "community": 81, + "norm_label": "iseventpayloadnumbercharacter()" + }, + { + "label": "writeEventPayloadToken()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter.go", + "source_location": "L122", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_writeeventpayloadtoken", + "community": 81, + "norm_label": "writeeventpayloadtoken()" + }, + { + "label": "Builder", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_go_builder", + "community": 364, + "norm_label": "builder" + }, + { + "label": "event_payload_formatter_test.go", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_test_go", + "community": 81, + "norm_label": "event_payload_formatter_test.go" + }, + { + "label": "TestFormatEventPayloadIndentsAndHighlightsJSON()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter_test.go", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_test_testformateventpayloadindentsandhighlightsjson", + "community": 81, + "norm_label": "testformateventpayloadindentsandhighlightsjson()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_test_go_t", + "community": 365, + "norm_label": "t" + }, + { + "label": "TestFormatEventPayloadEscapesPayloadHTML()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter_test.go", + "source_location": "L37", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_test_testformateventpayloadescapespayloadhtml", + "community": 81, + "norm_label": "testformateventpayloadescapespayloadhtml()" + }, + { + "label": "TestFormatEventPayloadPreservesInvalidJSONWithoutHighlighting()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter_test.go", + "source_location": "L47", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_test_testformateventpayloadpreservesinvalidjsonwithouthighlighting", + "community": 81, + "norm_label": "testformateventpayloadpreservesinvalidjsonwithouthighlighting()" + }, + { + "label": "TestFormatEventPayloadHandlesTopLevelPayloadShapes()", + "file_type": "code", + "source_file": "api/pkg/emails/event_payload_formatter_test.go", + "source_location": "L60", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_event_payload_formatter_test_testformateventpayloadhandlestoplevelpayloadshapes", + "community": 81, + "norm_label": "testformateventpayloadhandlestoplevelpayloadshapes()" + }, + { + "label": "factory.go", + "file_type": "code", + "source_file": "api/pkg/emails/factory.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_factory_go", + "community": 53, + "norm_label": "factory.go" + }, + { + "label": "factory", + "file_type": "code", + "source_file": "api/pkg/emails/factory.go", + "source_location": "L10", + "_origin": "ast", + "id": "emails_factory", + "community": 53, + "norm_label": "factory" + }, + { + "label": ".formatPhoneNumber()", + "file_type": "code", + "source_file": "api/pkg/emails/factory.go", + "source_location": "L12", + "_origin": "ast", + "id": "emails_factory_formatphonenumber", + "community": 53, + "norm_label": ".formatphonenumber()" + }, + { + "label": ".formatBool()", + "file_type": "code", + "source_file": "api/pkg/emails/factory.go", + "source_location": "L17", + "_origin": "ast", + "id": "emails_factory_formatbool", + "community": 53, + "norm_label": ".formatbool()" + }, + { + "label": ".formatHTTPResponseCode()", + "file_type": "code", + "source_file": "api/pkg/emails/factory.go", + "source_location": "L24", + "_origin": "ast", + "id": "emails_factory_formathttpresponsecode", + "community": 53, + "norm_label": ".formathttpresponsecode()" + }, + { + "label": "hermes_mailer.go", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_mailer.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_mailer_go", + "community": 88, + "norm_label": "hermes_mailer.go" + }, + { + "label": "HermesGeneratorConfig", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_mailer.go", + "source_location": "L12", + "_origin": "ast", + "id": "emails_hermesgeneratorconfig", + "community": 88, + "norm_label": "hermesgeneratorconfig" + }, + { + "label": ".Generator()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_mailer.go", + "source_location": "L19", + "_origin": "ast", + "id": "emails_hermesgeneratorconfig_generator", + "community": 88, + "norm_label": ".generator()" + }, + { + "label": "Hermes", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_mailer_go_hermes", + "community": 366, + "norm_label": "hermes" + }, + { + "label": "hermes_notification_email_factory.go", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_go", + "community": 81, + "norm_label": "hermes_notification_email_factory.go" + }, + { + "label": "hermesNotificationEmailFactory", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L15", + "_origin": "ast", + "id": "emails_hermesnotificationemailfactory", + "community": 81, + "norm_label": "hermesnotificationemailfactory" + }, + { + "label": "Hermes", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_go_hermes", + "community": 367, + "norm_label": "hermes" + }, + { + "label": "NewHermesNotificationEmailFactory()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_newhermesnotificationemailfactory", + "community": 81, + "norm_label": "newhermesnotificationemailfactory()" + }, + { + "label": ".DiscordSendFailed()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L31", + "_origin": "ast", + "id": "emails_hermesnotificationemailfactory_discordsendfailed", + "community": 81, + "norm_label": ".discordsendfailed()" + }, + { + "label": ".WebhookSendFailed()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L81", + "_origin": "ast", + "id": "emails_hermesnotificationemailfactory_webhooksendfailed", + "community": 81, + "norm_label": ".webhooksendfailed()" + }, + { + "label": "generateWebhookSendFailedPlainText()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L143", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_generatewebhooksendfailedplaintext", + "community": 81, + "norm_label": "generatewebhooksendfailedplaintext()" + }, + { + "label": "replaceWebhookSendFailedEventPayloadPlaceholder()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L158", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_replacewebhooksendfailedeventpayloadplaceholder", + "community": 81, + "norm_label": "replacewebhooksendfailedeventpayloadplaceholder()" + }, + { + "label": ".MessageExpired()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L167", + "_origin": "ast", + "id": "emails_hermesnotificationemailfactory_messageexpired", + "community": 81, + "norm_label": ".messageexpired()" + }, + { + "label": ".MessageFailed()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory.go", + "source_location": "L217", + "_origin": "ast", + "id": "emails_hermesnotificationemailfactory_messagefailed", + "community": 81, + "norm_label": ".messagefailed()" + }, + { + "label": "hermes_notification_email_factory_test.go", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_test_go", + "community": 81, + "norm_label": "hermes_notification_email_factory_test.go" + }, + { + "label": "testNotificationEmailFactory()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory_test.go", + "source_location": "L14", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_test_testnotificationemailfactory", + "community": 81, + "norm_label": "testnotificationemailfactory()" + }, + { + "label": "TestWebhookSendFailedFormatsOnlyEventPayload()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory_test.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_test_testwebhooksendfailedformatsonlyeventpayload", + "community": 81, + "norm_label": "testwebhooksendfailedformatsonlyeventpayload()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_test_go_t", + "community": 368, + "norm_label": "t" + }, + { + "label": "TestWebhookSendFailedPreservesNonJSONEventPayload()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory_test.go", + "source_location": "L56", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_test_testwebhooksendfailedpreservesnonjsoneventpayload", + "community": 81, + "norm_label": "testwebhooksendfailedpreservesnonjsoneventpayload()" + }, + { + "label": "TestGenerateWebhookSendFailedPlainTextFallsBackToFormattedPayload()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory_test.go", + "source_location": "L80", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_test_testgeneratewebhooksendfailedplaintextfallsbacktoformattedpayload", + "community": 81, + "norm_label": "testgeneratewebhooksendfailedplaintextfallsbacktoformattedpayload()" + }, + { + "label": "TestReplaceWebhookSendFailedEventPayloadPlaceholder()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_notification_email_factory_test.go", + "source_location": "L98", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_notification_email_factory_test_testreplacewebhooksendfailedeventpayloadplaceholder", + "community": 81, + "norm_label": "testreplacewebhooksendfailedeventpayloadplaceholder()" + }, + { + "label": "hermes_theme.go", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_theme_go", + "community": 88, + "norm_label": "hermes_theme.go" + }, + { + "label": "hermesTheme", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme.go", + "source_location": "L6", + "_origin": "ast", + "id": "emails_hermestheme", + "community": 88, + "norm_label": "hermestheme" + }, + { + "label": ".Styles()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme.go", + "source_location": "L8", + "_origin": "ast", + "id": "emails_hermestheme_styles", + "community": 88, + "norm_label": ".styles()" + }, + { + "label": "StylesDefinition", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "stylesdefinition", + "community": 88, + "norm_label": "stylesdefinition" + }, + { + "label": "newHermesTheme()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme.go", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_theme_newhermestheme", + "community": 88, + "norm_label": "newhermestheme()" + }, + { + "label": "Theme", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "theme", + "community": 88, + "norm_label": "theme" + }, + { + "label": ".Name()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme.go", + "source_location": "L17", + "_origin": "ast", + "id": "emails_hermestheme_name", + "community": 88, + "norm_label": ".name()" + }, + { + "label": ".HTMLTemplate()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme.go", + "source_location": "L22", + "_origin": "ast", + "id": "emails_hermestheme_htmltemplate", + "community": 88, + "norm_label": ".htmltemplate()" + }, + { + "label": ".PlainTextTemplate()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme.go", + "source_location": "L513", + "_origin": "ast", + "id": "emails_hermestheme_plaintexttemplate", + "community": 88, + "norm_label": ".plaintexttemplate()" + }, + { + "label": "hermes_theme_test.go", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_theme_test_go", + "community": 81, + "norm_label": "hermes_theme_test.go" + }, + { + "label": "TestHermesThemeRendersUnsafeDictionaryValueOnlyWhenProvided()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_theme_test.go", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_theme_test_testhermesthemerendersunsafedictionaryvalueonlywhenprovided", + "community": 81, + "norm_label": "testhermesthemerendersunsafedictionaryvalueonlywhenprovided()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_theme_test_go_t", + "community": 369, + "norm_label": "t" + }, + { + "label": "hermes_user_email_factory.go", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_go", + "community": 94, + "norm_label": "hermes_user_email_factory.go" + }, + { + "label": "hermesUserEmailFactory", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L12", + "_origin": "ast", + "id": "emails_hermesuseremailfactory", + "community": 94, + "norm_label": "hermesuseremailfactory" + }, + { + "label": "Hermes", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_go_hermes", + "community": 370, + "norm_label": "hermes" + }, + { + "label": "formatBillingDate()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_formatbillingdate", + "community": 94, + "norm_label": "formatbillingdate()" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_go_time", + "community": 372, + "norm_label": "time" + }, + { + "label": "Location", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_go_location", + "community": 371, + "norm_label": "location" + }, + { + "label": ".APIKeyRotated()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L23", + "_origin": "ast", + "id": "emails_hermesuseremailfactory_apikeyrotated", + "community": 94, + "norm_label": ".apikeyrotated()" + }, + { + "label": ".UsageLimitExceeded()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L72", + "_origin": "ast", + "id": "emails_hermesuseremailfactory_usagelimitexceeded", + "community": 94, + "norm_label": ".usagelimitexceeded()" + }, + { + "label": ".UsageLimitAlert()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L117", + "_origin": "ast", + "id": "emails_hermesuseremailfactory_usagelimitalert", + "community": 94, + "norm_label": ".usagelimitalert()" + }, + { + "label": "NewHermesUserEmailFactory()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L163", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_newhermesuseremailfactory", + "community": 94, + "norm_label": "newhermesuseremailfactory()" + }, + { + "label": ".PhoneDead()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory.go", + "source_location": "L171", + "_origin": "ast", + "id": "emails_hermesuseremailfactory_phonedead", + "community": 94, + "norm_label": ".phonedead()" + }, + { + "label": "hermes_user_email_factory_test.go", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_test_go", + "community": 94, + "norm_label": "hermes_user_email_factory_test.go" + }, + { + "label": "testUserEmailFactory()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory_test.go", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_test_testuseremailfactory", + "community": 94, + "norm_label": "testuseremailfactory()" + }, + { + "label": "TestFormatBillingDate_RendersInProvidedTimezone()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory_test.go", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_test_testformatbillingdate_rendersinprovidedtimezone", + "community": 94, + "norm_label": "testformatbillingdate_rendersinprovidedtimezone()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_test_go_t", + "community": 373, + "norm_label": "t" + }, + { + "label": "TestUsageLimitExceeded_IncludesBreakdownAndBillingPeriod()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory_test.go", + "source_location": "L35", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_test_testusagelimitexceeded_includesbreakdownandbillingperiod", + "community": 94, + "norm_label": "testusagelimitexceeded_includesbreakdownandbillingperiod()" + }, + { + "label": "TestUsageLimitAlert_IncludesPercentBreakdownAndLimit()", + "file_type": "code", + "source_file": "api/pkg/emails/hermes_user_email_factory_test.go", + "source_location": "L60", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_hermes_user_email_factory_test_testusagelimitalert_includespercentbreakdownandlimit", + "community": 94, + "norm_label": "testusagelimitalert_includespercentbreakdownandlimit()" + }, + { + "label": "mailer.go", + "file_type": "code", + "source_file": "api/pkg/emails/mailer.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_mailer_go", + "community": 65, + "norm_label": "mailer.go" + }, + { + "label": "Email", + "file_type": "code", + "source_file": "api/pkg/emails/mailer.go", + "source_location": "L10", + "_origin": "ast", + "id": "emails_email", + "community": 65, + "norm_label": "email" + }, + { + "label": ".toAddress()", + "file_type": "code", + "source_file": "api/pkg/emails/mailer.go", + "source_location": "L18", + "_origin": "ast", + "id": "emails_email_toaddress", + "community": 65, + "norm_label": ".toaddress()" + }, + { + "label": "Mailer", + "file_type": "code", + "source_file": "api/pkg/emails/mailer.go", + "source_location": "L26", + "_origin": "ast", + "id": "emails_mailer", + "community": 65, + "norm_label": "mailer" + }, + { + "label": "notification_email_factory.go", + "file_type": "code", + "source_file": "api/pkg/emails/notification_email_factory.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_notification_email_factory_go", + "community": 81, + "norm_label": "notification_email_factory.go" + }, + { + "label": "NotificationEmailFactory", + "file_type": "code", + "source_file": "api/pkg/emails/notification_email_factory.go", + "source_location": "L9", + "_origin": "ast", + "id": "emails_notificationemailfactory", + "community": 81, + "norm_label": "notificationemailfactory" + }, + { + "label": "smtp_mailer_service.go", + "file_type": "code", + "source_file": "api/pkg/emails/smtp_mailer_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_smtp_mailer_service_go", + "community": 131, + "norm_label": "smtp_mailer_service.go" + }, + { + "label": "SMTPConfig", + "file_type": "code", + "source_file": "api/pkg/emails/smtp_mailer_service.go", + "source_location": "L14", + "_origin": "ast", + "id": "emails_smtpconfig", + "community": 131, + "norm_label": "smtpconfig" + }, + { + "label": "smtpMailer", + "file_type": "code", + "source_file": "api/pkg/emails/smtp_mailer_service.go", + "source_location": "L23", + "_origin": "ast", + "id": "emails_smtpmailer", + "community": 131, + "norm_label": "smtpmailer" + }, + { + "label": "Auth", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "auth", + "community": 131, + "norm_label": "auth" + }, + { + "label": "NewSMTPEmailService()", + "file_type": "code", + "source_file": "api/pkg/emails/smtp_mailer_service.go", + "source_location": "L31", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_smtp_mailer_service_newsmtpemailservice", + "community": 131, + "norm_label": "newsmtpemailservice()" + }, + { + "label": ".Send()", + "file_type": "code", + "source_file": "api/pkg/emails/smtp_mailer_service.go", + "source_location": "L41", + "_origin": "ast", + "id": "emails_smtpmailer_send", + "community": 131, + "norm_label": ".send()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_smtp_mailer_service_go_context", + "community": 374, + "norm_label": "context" + }, + { + "label": "user_email_factory.go", + "file_type": "code", + "source_file": "api/pkg/emails/user_email_factory.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_emails_user_email_factory_go", + "community": 65, + "norm_label": "user_email_factory.go" + }, + { + "label": "UserEmailFactory", + "file_type": "code", + "source_file": "api/pkg/emails/user_email_factory.go", + "source_location": "L10", + "_origin": "ast", + "id": "emails_useremailfactory", + "community": 65, + "norm_label": "useremailfactory" + }, + { + "label": "auth_context.go", + "file_type": "code", + "source_file": "api/pkg/entities/auth_context.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_auth_context_go", + "community": 184, + "norm_label": "auth_context.go" + }, + { + "label": "AuthContext", + "file_type": "code", + "source_file": "api/pkg/entities/auth_context.go", + "source_location": "L6", + "_origin": "ast", + "id": "entities_authcontext", + "community": 184, + "norm_label": "authcontext" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_auth_context_go_uuid", + "community": 375, + "norm_label": "uuid" + }, + { + "label": ".IsNoop()", + "file_type": "code", + "source_file": "api/pkg/entities/auth_context.go", + "source_location": "L14", + "_origin": "ast", + "id": "entities_authcontext_isnoop", + "community": 184, + "norm_label": ".isnoop()" + }, + { + "label": "billing_usage.go", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_go", + "community": 18, + "norm_label": "billing_usage.go" + }, + { + "label": "BillingUsage", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_billingusage", + "community": 18, + "norm_label": "billingusage" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_go_uuid", + "community": 377, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_go_time", + "community": 376, + "norm_label": "time" + }, + { + "label": ".TotalMessages()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage.go", + "source_location": "L23", + "_origin": "ast", + "id": "entities_billingusage_totalmessages", + "community": 18, + "norm_label": ".totalmessages()" + }, + { + "label": ".IsEntitled()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage.go", + "source_location": "L28", + "_origin": "ast", + "id": "entities_billingusage_isentitled", + "community": 18, + "norm_label": ".isentitled()" + }, + { + "label": "billing_usage_test.go", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_go", + "community": 122, + "norm_label": "billing_usage_test.go" + }, + { + "label": "TestBillingUsage_TotalMessages()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage_test.go", + "source_location": "L9", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_testbillingusage_totalmessages", + "community": 122, + "norm_label": "testbillingusage_totalmessages()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_go_t", + "community": 378, + "norm_label": "t" + }, + { + "label": "TestBillingUsage_IsEntitled_BelowLimit()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage_test.go", + "source_location": "L14", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_testbillingusage_isentitled_belowlimit", + "community": 122, + "norm_label": "testbillingusage_isentitled_belowlimit()" + }, + { + "label": "TestBillingUsage_IsEntitled_ReachingExactlyLimitIsEntitled()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage_test.go", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_testbillingusage_isentitled_reachingexactlylimitisentitled", + "community": 122, + "norm_label": "testbillingusage_isentitled_reachingexactlylimitisentitled()" + }, + { + "label": "TestBillingUsage_IsEntitled_ExceedingLimitIsNotEntitled()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage_test.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_testbillingusage_isentitled_exceedinglimitisnotentitled", + "community": 122, + "norm_label": "testbillingusage_isentitled_exceedinglimitisnotentitled()" + }, + { + "label": "TestBillingUsage_IsEntitled_BulkCountFittingExactly()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage_test.go", + "source_location": "L32", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_testbillingusage_isentitled_bulkcountfittingexactly", + "community": 122, + "norm_label": "testbillingusage_isentitled_bulkcountfittingexactly()" + }, + { + "label": "TestBillingUsage_IsEntitled_BulkCountExceeding()", + "file_type": "code", + "source_file": "api/pkg/entities/billing_usage_test.go", + "source_location": "L37", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_billing_usage_test_testbillingusage_isentitled_bulkcountexceeding", + "community": 122, + "norm_label": "testbillingusage_isentitled_bulkcountexceeding()" + }, + { + "label": "bulk_message.go", + "file_type": "code", + "source_file": "api/pkg/entities/bulk_message.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_bulk_message_go", + "community": 193, + "norm_label": "bulk_message.go" + }, + { + "label": "BulkMessage", + "file_type": "code", + "source_file": "api/pkg/entities/bulk_message.go", + "source_location": "L6", + "_origin": "ast", + "id": "entities_bulkmessage", + "community": 193, + "norm_label": "bulkmessage" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_bulk_message_go_time", + "community": 379, + "norm_label": "time" + }, + { + "label": "discord.go", + "file_type": "code", + "source_file": "api/pkg/entities/discord.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_discord_go", + "community": 282, + "norm_label": "discord.go" + }, + { + "label": "Discord", + "file_type": "code", + "source_file": "api/pkg/entities/discord.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_discord", + "community": 282, + "norm_label": "discord" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_discord_go_uuid", + "community": 381, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_discord_go_time", + "community": 380, + "norm_label": "time" + }, + { + "label": "heartbeat.go", + "file_type": "code", + "source_file": "api/pkg/entities/heartbeat.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_heartbeat_go", + "community": 283, + "norm_label": "heartbeat.go" + }, + { + "label": "Heartbeat", + "file_type": "code", + "source_file": "api/pkg/entities/heartbeat.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_heartbeat", + "community": 283, + "norm_label": "heartbeat" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_heartbeat_go_uuid", + "community": 383, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_heartbeat_go_time", + "community": 382, + "norm_label": "time" + }, + { + "label": "heartbeat_monitor.go", + "file_type": "code", + "source_file": "api/pkg/entities/heartbeat_monitor.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_heartbeat_monitor_go", + "community": 166, + "norm_label": "heartbeat_monitor.go" + }, + { + "label": "HeartbeatMonitor", + "file_type": "code", + "source_file": "api/pkg/entities/heartbeat_monitor.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_heartbeatmonitor", + "community": 166, + "norm_label": "heartbeatmonitor" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_heartbeat_monitor_go_uuid", + "community": 385, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_heartbeat_monitor_go_time", + "community": 384, + "norm_label": "time" + }, + { + "label": ".RequiresCheck()", + "file_type": "code", + "source_file": "api/pkg/entities/heartbeat_monitor.go", + "source_location": "L22", + "_origin": "ast", + "id": "entities_heartbeatmonitor_requirescheck", + "community": 166, + "norm_label": ".requirescheck()" + }, + { + "label": ".PhoneIsOffline()", + "file_type": "code", + "source_file": "api/pkg/entities/heartbeat_monitor.go", + "source_location": "L27", + "_origin": "ast", + "id": "entities_heartbeatmonitor_phoneisoffline", + "community": 166, + "norm_label": ".phoneisoffline()" + }, + { + "label": "integration_3cx.go", + "file_type": "code", + "source_file": "api/pkg/entities/integration_3cx.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_integration_3cx_go", + "community": 225, + "norm_label": "integration_3cx.go" + }, + { + "label": "Integration3CX", + "file_type": "code", + "source_file": "api/pkg/entities/integration_3cx.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_integration3cx", + "community": 225, + "norm_label": "integration3cx" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_integration_3cx_go_uuid", + "community": 387, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_integration_3cx_go_time", + "community": 386, + "norm_label": "time" + }, + { + "label": ".TableName()", + "file_type": "code", + "source_file": "api/pkg/entities/integration_3cx.go", + "source_location": "L19", + "_origin": "ast", + "id": "entities_integration3cx_tablename", + "community": 225, + "norm_label": ".tablename()" + }, + { + "label": "local_auth_credential.go", + "file_type": "code", + "source_file": "api/pkg/entities/local_auth_credential.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_entities_local_auth_credential", + "community": 185, + "norm_label": "local_auth_credential.go" + }, + { + "label": "LocalAuthCredential", + "file_type": "code", + "source_file": "api/pkg/entities/local_auth_credential.go", + "source_location": "L6", + "_origin": "ast", + "id": "entities_localauthcredential", + "community": 185, + "norm_label": "localauthcredential" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_entities_local_auth_credential_go_time", + "community": 185, + "norm_label": "time" + }, + { + "label": "message.go", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_go", + "community": 50, + "norm_label": "message.go" + }, + { + "label": "MessageType", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L11", + "_origin": "ast", + "id": "entities_messagetype", + "community": 50, + "norm_label": "messagetype" + }, + { + "label": "MessageStatus", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L25", + "_origin": "ast", + "id": "entities_messagestatus", + "community": 50, + "norm_label": "messagestatus" + }, + { + "label": "MessageEventName", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L57", + "_origin": "ast", + "id": "entities_messageeventname", + "community": 15, + "norm_label": "messageeventname" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L71", + "_origin": "ast", + "id": "entities_sim", + "community": 58, + "norm_label": "sim" + }, + { + "label": ".String()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L81", + "_origin": "ast", + "id": "entities_sim_string", + "community": 58, + "norm_label": ".string()" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L86", + "_origin": "ast", + "id": "entities_message", + "community": 50, + "norm_label": "message" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_go_uuid", + "community": 390, + "norm_label": "uuid" + }, + { + "label": "StringArray", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_go_stringarray", + "community": 388, + "norm_label": "stringarray" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_go_time", + "community": 389, + "norm_label": "time" + }, + { + "label": ".IsSending()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L125", + "_origin": "ast", + "id": "entities_message_issending", + "community": 50, + "norm_label": ".issending()" + }, + { + "label": ".IsDelivered()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L130", + "_origin": "ast", + "id": "entities_message_isdelivered", + "community": 50, + "norm_label": ".isdelivered()" + }, + { + "label": ".IsPending()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L135", + "_origin": "ast", + "id": "entities_message_ispending", + "community": 50, + "norm_label": ".ispending()" + }, + { + "label": ".IsScheduled()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L140", + "_origin": "ast", + "id": "entities_message_isscheduled", + "community": 50, + "norm_label": ".isscheduled()" + }, + { + "label": ".IsExpired()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L145", + "_origin": "ast", + "id": "entities_message_isexpired", + "community": 50, + "norm_label": ".isexpired()" + }, + { + "label": ".CanBeRescheduled()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L150", + "_origin": "ast", + "id": "entities_message_canberescheduled", + "community": 50, + "norm_label": ".canberescheduled()" + }, + { + "label": ".IsSent()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L155", + "_origin": "ast", + "id": "entities_message_issent", + "community": 50, + "norm_label": ".issent()" + }, + { + "label": ".Sent()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L160", + "_origin": "ast", + "id": "entities_message_sent", + "community": 50, + "norm_label": ".sent()" + }, + { + "label": ".Failed()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L171", + "_origin": "ast", + "id": "entities_message_failed", + "community": 50, + "norm_label": ".failed()" + }, + { + "label": ".Delivered()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L180", + "_origin": "ast", + "id": "entities_message_delivered", + "community": 50, + "norm_label": ".delivered()" + }, + { + "label": ".AddSendAttemptCount()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L193", + "_origin": "ast", + "id": "entities_message_addsendattemptcount", + "community": 50, + "norm_label": ".addsendattemptcount()" + }, + { + "label": ".Expired()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L199", + "_origin": "ast", + "id": "entities_message_expired", + "community": 50, + "norm_label": ".expired()" + }, + { + "label": ".NotificationScheduled()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L208", + "_origin": "ast", + "id": "entities_message_notificationscheduled", + "community": 50, + "norm_label": ".notificationscheduled()" + }, + { + "label": ".AddSendAttempt()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L220", + "_origin": "ast", + "id": "entities_message_addsendattempt", + "community": 50, + "norm_label": ".addsendattempt()" + }, + { + "label": ".updateOrderTimestamp()", + "file_type": "code", + "source_file": "api/pkg/entities/message.go", + "source_location": "L227", + "_origin": "ast", + "id": "entities_message_updateordertimestamp", + "community": 50, + "norm_label": ".updateordertimestamp()" + }, + { + "label": "message_send_schedule.go", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_go", + "community": 135, + "norm_label": "message_send_schedule.go" + }, + { + "label": "MessageSendScheduleWindow", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule.go", + "source_location": "L13", + "_origin": "ast", + "id": "entities_messagesendschedulewindow", + "community": 135, + "norm_label": "messagesendschedulewindow" + }, + { + "label": "MessageSendSchedule", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule.go", + "source_location": "L20", + "_origin": "ast", + "id": "entities_messagesendschedule", + "community": 135, + "norm_label": "messagesendschedule" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_go_uuid", + "community": 392, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_go_time", + "community": 391, + "norm_label": "time" + }, + { + "label": ".ResolveScheduledAt()", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule.go", + "source_location": "L34", + "_origin": "ast", + "id": "entities_messagesendschedule_resolvescheduledat", + "community": 135, + "norm_label": ".resolvescheduledat()" + }, + { + "label": "message_send_schedule_test.go", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_test_go", + "community": 133, + "norm_label": "message_send_schedule_test.go" + }, + { + "label": "TestResolveScheduledAt_NilSchedule_ReturnsCurrentUTC()", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule_test.go", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_test_testresolvescheduledat_nilschedule_returnscurrentutc", + "community": 133, + "norm_label": "testresolvescheduledat_nilschedule_returnscurrentutc()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_test_go_t", + "community": 393, + "norm_label": "t" + }, + { + "label": "TestResolveScheduledAt_InactiveSchedule_ReturnsCurrentUTC()", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule_test.go", + "source_location": "L17", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_test_testresolvescheduledat_inactiveschedule_returnscurrentutc", + "community": 133, + "norm_label": "testresolvescheduledat_inactiveschedule_returnscurrentutc()" + }, + { + "label": "TestResolveScheduledAt_NoWindows_ReturnsCurrentUTC()", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule_test.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_test_testresolvescheduledat_nowindows_returnscurrentutc", + "community": 133, + "norm_label": "testresolvescheduledat_nowindows_returnscurrentutc()" + }, + { + "label": "TestResolveScheduledAt_WithinWindow_ReturnsCurrentUTC()", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule_test.go", + "source_location": "L34", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_test_testresolvescheduledat_withinwindow_returnscurrentutc", + "community": 133, + "norm_label": "testresolvescheduledat_withinwindow_returnscurrentutc()" + }, + { + "label": "TestResolveScheduledAt_BeforeWindow_ReturnsWindowStart()", + "file_type": "code", + "source_file": "api/pkg/entities/message_send_schedule_test.go", + "source_location": "L47", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_send_schedule_test_testresolvescheduledat_beforewindow_returnswindowstart", + "community": 133, + "norm_label": "testresolvescheduledat_beforewindow_returnswindowstart()" + }, + { + "label": "message_thread.go", + "file_type": "code", + "source_file": "api/pkg/entities/message_thread.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_thread_go", + "community": 183, + "norm_label": "message_thread.go" + }, + { + "label": "MessageThread", + "file_type": "code", + "source_file": "api/pkg/entities/message_thread.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_messagethread", + "community": 183, + "norm_label": "messagethread" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_thread_go_uuid", + "community": 395, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_message_thread_go_time", + "community": 394, + "norm_label": "time" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/entities/message_thread.go", + "source_location": "L26", + "_origin": "ast", + "id": "entities_messagethread_update", + "community": 183, + "norm_label": ".update()" + }, + { + "label": ".UpdateArchive()", + "file_type": "code", + "source_file": "api/pkg/entities/message_thread.go", + "source_location": "L35", + "_origin": "ast", + "id": "entities_messagethread_updatearchive", + "community": 183, + "norm_label": ".updatearchive()" + }, + { + "label": ".HasLastMessage()", + "file_type": "code", + "source_file": "api/pkg/entities/message_thread.go", + "source_location": "L41", + "_origin": "ast", + "id": "entities_messagethread_haslastmessage", + "community": 183, + "norm_label": ".haslastmessage()" + }, + { + "label": "phone.go", + "file_type": "code", + "source_file": "api/pkg/entities/phone.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_go", + "community": 114, + "norm_label": "phone.go" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "api/pkg/entities/phone.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_phone", + "community": 114, + "norm_label": "phone" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_go_uuid", + "community": 402, + "norm_label": "uuid" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_go_sim", + "community": 400, + "norm_label": "sim" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_go_time", + "community": 401, + "norm_label": "time" + }, + { + "label": ".MessageExpirationDuration()", + "file_type": "code", + "source_file": "api/pkg/entities/phone.go", + "source_location": "L35", + "_origin": "ast", + "id": "entities_phone_messageexpirationduration", + "community": 114, + "norm_label": ".messageexpirationduration()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_go_duration", + "community": 399, + "norm_label": "duration" + }, + { + "label": ".MessageExpirationSecondsSanitized()", + "file_type": "code", + "source_file": "api/pkg/entities/phone.go", + "source_location": "L40", + "_origin": "ast", + "id": "entities_phone_messageexpirationsecondssanitized", + "community": 114, + "norm_label": ".messageexpirationsecondssanitized()" + }, + { + "label": ".MaxSendAttemptsSanitized()", + "file_type": "code", + "source_file": "api/pkg/entities/phone.go", + "source_location": "L48", + "_origin": "ast", + "id": "entities_phone_maxsendattemptssanitized", + "community": 114, + "norm_label": ".maxsendattemptssanitized()" + }, + { + "label": "phone_api_key.go", + "file_type": "code", + "source_file": "api/pkg/entities/phone_api_key.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_api_key_go", + "community": 67, + "norm_label": "phone_api_key.go" + }, + { + "label": "PhoneAPIKey", + "file_type": "code", + "source_file": "api/pkg/entities/phone_api_key.go", + "source_location": "L14", + "_origin": "ast", + "id": "entities_phoneapikey", + "community": 67, + "norm_label": "phoneapikey" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_api_key_go_uuid", + "community": 398, + "norm_label": "uuid" + }, + { + "label": "StringArray", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_api_key_go_stringarray", + "community": 396, + "norm_label": "stringarray" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_api_key_go_time", + "community": 397, + "norm_label": "time" + }, + { + "label": ".TableName()", + "file_type": "code", + "source_file": "api/pkg/entities/phone_api_key.go", + "source_location": "L27", + "_origin": "ast", + "id": "entities_phoneapikey_tablename", + "community": 67, + "norm_label": ".tablename()" + }, + { + "label": "phone_notification.go", + "file_type": "code", + "source_file": "api/pkg/entities/phone_notification.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_notification_go", + "community": 247, + "norm_label": "phone_notification.go" + }, + { + "label": "PhoneNotificationStatus", + "file_type": "code", + "source_file": "api/pkg/entities/phone_notification.go", + "source_location": "L19", + "_origin": "ast", + "id": "entities_phonenotificationstatus", + "community": 247, + "norm_label": "phonenotificationstatus" + }, + { + "label": "PhoneNotification", + "file_type": "code", + "source_file": "api/pkg/entities/phone_notification.go", + "source_location": "L22", + "_origin": "ast", + "id": "entities_phonenotification", + "community": 247, + "norm_label": "phonenotification" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_notification_go_uuid", + "community": 404, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_phone_notification_go_time", + "community": 403, + "norm_label": "time" + }, + { + "label": "user.go", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_go", + "community": 26, + "norm_label": "user.go" + }, + { + "label": "UserID", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L10", + "_origin": "ast", + "id": "entities_userid", + "community": 67, + "norm_label": "userid" + }, + { + "label": ".String()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L13", + "_origin": "ast", + "id": "entities_userid_string", + "community": 67, + "norm_label": ".string()" + }, + { + "label": "SubscriptionName", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L18", + "_origin": "ast", + "id": "entities_subscriptionname", + "community": 26, + "norm_label": "subscriptionname" + }, + { + "label": ".Limit()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L21", + "_origin": "ast", + "id": "entities_subscriptionname_limit", + "community": 26, + "norm_label": ".limit()" + }, + { + "label": "User", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L74", + "_origin": "ast", + "id": "entities_user", + "community": 26, + "norm_label": "user" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_go_uuid", + "community": 407, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_go_time", + "community": 406, + "norm_label": "time" + }, + { + "label": ".IsOnProPlan()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L94", + "_origin": "ast", + "id": "entities_user_isonproplan", + "community": 26, + "norm_label": ".isonproplan()" + }, + { + "label": ".IsOnFreePlan()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L99", + "_origin": "ast", + "id": "entities_user_isonfreeplan", + "community": 26, + "norm_label": ".isonfreeplan()" + }, + { + "label": ".IsOnUltraPlan()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L104", + "_origin": "ast", + "id": "entities_user_isonultraplan", + "community": 26, + "norm_label": ".isonultraplan()" + }, + { + "label": ".IsOn20kPlan()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L109", + "_origin": "ast", + "id": "entities_user_ison20kplan", + "community": 26, + "norm_label": ".ison20kplan()" + }, + { + "label": ".UserTimeString()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L114", + "_origin": "ast", + "id": "entities_user_usertimestring", + "community": 26, + "norm_label": ".usertimestring()" + }, + { + "label": ".Location()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L123", + "_origin": "ast", + "id": "entities_user_location", + "community": 26, + "norm_label": ".location()" + }, + { + "label": "Location", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_go_location", + "community": 405, + "norm_label": "location" + }, + { + "label": ".GetBillingAnchorDay()", + "file_type": "code", + "source_file": "api/pkg/entities/user.go", + "source_location": "L134", + "_origin": "ast", + "id": "entities_user_getbillinganchorday", + "community": 26, + "norm_label": ".getbillinganchorday()" + }, + { + "label": "user_test.go", + "file_type": "code", + "source_file": "api/pkg/entities/user_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_test_go", + "community": 134, + "norm_label": "user_test.go" + }, + { + "label": "TestUser_GetBillingAnchorDay_FreeUser()", + "file_type": "code", + "source_file": "api/pkg/entities/user_test.go", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_test_testuser_getbillinganchorday_freeuser", + "community": 134, + "norm_label": "testuser_getbillinganchorday_freeuser()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_test_go_t", + "community": 408, + "norm_label": "t" + }, + { + "label": "TestUser_GetBillingAnchorDay_EmptySubscription()", + "file_type": "code", + "source_file": "api/pkg/entities/user_test.go", + "source_location": "L18", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_test_testuser_getbillinganchorday_emptysubscription", + "community": 134, + "norm_label": "testuser_getbillinganchorday_emptysubscription()" + }, + { + "label": "TestUser_GetBillingAnchorDay_PaidUser()", + "file_type": "code", + "source_file": "api/pkg/entities/user_test.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_test_testuser_getbillinganchorday_paiduser", + "community": 134, + "norm_label": "testuser_getbillinganchorday_paiduser()" + }, + { + "label": "TestUser_GetBillingAnchorDay_PaidUserNilRenewsAt()", + "file_type": "code", + "source_file": "api/pkg/entities/user_test.go", + "source_location": "L36", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_test_testuser_getbillinganchorday_paidusernilrenewsat", + "community": 134, + "norm_label": "testuser_getbillinganchorday_paidusernilrenewsat()" + }, + { + "label": "TestUser_GetBillingAnchorDay_PaidUserDay31()", + "file_type": "code", + "source_file": "api/pkg/entities/user_test.go", + "source_location": "L45", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_user_test_testuser_getbillinganchorday_paiduserday31", + "community": 134, + "norm_label": "testuser_getbillinganchorday_paiduserday31()" + }, + { + "label": "webhook.go", + "file_type": "code", + "source_file": "api/pkg/entities/webhook.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_webhook_go", + "community": 284, + "norm_label": "webhook.go" + }, + { + "label": "Webhook", + "file_type": "code", + "source_file": "api/pkg/entities/webhook.go", + "source_location": "L11", + "_origin": "ast", + "id": "entities_webhook", + "community": 284, + "norm_label": "webhook" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_webhook_go_uuid", + "community": 411, + "norm_label": "uuid" + }, + { + "label": "StringArray", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_webhook_go_stringarray", + "community": 409, + "norm_label": "stringarray" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_entities_webhook_go_time", + "community": 410, + "norm_label": "time" + }, + { + "label": "discord_message_failed_event.go", + "file_type": "code", + "source_file": "api/pkg/events/discord_message_failed_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_discord_message_failed_event_go", + "community": 285, + "norm_label": "discord_message_failed_event.go" + }, + { + "label": "DiscordSendFailedPayload", + "file_type": "code", + "source_file": "api/pkg/events/discord_message_failed_event.go", + "source_location": "L12", + "_origin": "ast", + "id": "events_discordsendfailedpayload", + "community": 285, + "norm_label": "discordsendfailedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_discord_message_failed_event_go_uuid", + "community": 412, + "norm_label": "uuid" + }, + { + "label": "listeners.go", + "file_type": "code", + "source_file": "api/pkg/events/listeners.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_listeners_go", + "community": 286, + "norm_label": "listeners.go" + }, + { + "label": "EventListener", + "file_type": "code", + "source_file": "api/pkg/events/listeners.go", + "source_location": "L10", + "_origin": "ast", + "id": "events_eventlistener", + "community": 286, + "norm_label": "eventlistener" + }, + { + "label": "message_api_deleted_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_api_deleted_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_deleted_event_go", + "community": 206, + "norm_label": "message_api_deleted_event.go" + }, + { + "label": "MessageAPIDeletedPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_api_deleted_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messageapideletedpayload", + "community": 206, + "norm_label": "messageapideletedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_deleted_event_go_uuid", + "community": 415, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_deleted_event_go_time", + "community": 414, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_deleted_event_go_sim", + "community": 413, + "norm_label": "sim" + }, + { + "label": "message_api_sent_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_api_sent_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_sent_event_go", + "community": 245, + "norm_label": "message_api_sent_event.go" + }, + { + "label": "MessageAPISentPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_api_sent_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messageapisentpayload", + "community": 245, + "norm_label": "messageapisentpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_sent_event_go_uuid", + "community": 418, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_sent_event_go_time", + "community": 417, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_api_sent_event_go_sim", + "community": 416, + "norm_label": "sim" + }, + { + "label": "message_call_missed_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_call_missed_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_call_missed_event_go", + "community": 157, + "norm_label": "message_call_missed_event.go" + }, + { + "label": "MessageCallMissedPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_call_missed_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagecallmissedpayload", + "community": 157, + "norm_label": "messagecallmissedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_call_missed_event_go_uuid", + "community": 421, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_call_missed_event_go_time", + "community": 420, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_call_missed_event_go_sim", + "community": 419, + "norm_label": "sim" + }, + { + "label": "message_notification_failed_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_failed_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_failed_event_go", + "community": 174, + "norm_label": "message_notification_failed_event.go" + }, + { + "label": "MessageNotificationFailedPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_failed_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagenotificationfailedpayload", + "community": 174, + "norm_label": "messagenotificationfailedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_failed_event_go_uuid", + "community": 423, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_failed_event_go_time", + "community": 422, + "norm_label": "time" + }, + { + "label": "message_notification_scheduled_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_scheduled_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_scheduled_event_go", + "community": 35, + "norm_label": "message_notification_scheduled_event.go" + }, + { + "label": "MessageNotificationScheduledPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_scheduled_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagenotificationscheduledpayload", + "community": 35, + "norm_label": "messagenotificationscheduledpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_scheduled_event_go_uuid", + "community": 426, + "norm_label": "uuid" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_scheduled_event_go_sim", + "community": 424, + "norm_label": "sim" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_scheduled_event_go_time", + "community": 425, + "norm_label": "time" + }, + { + "label": "message_notification_send_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_send_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_send_event_go", + "community": 35, + "norm_label": "message_notification_send_event.go" + }, + { + "label": "MessageNotificationSendPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_send_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagenotificationsendpayload", + "community": 35, + "norm_label": "messagenotificationsendpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_send_event_go_uuid", + "community": 428, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_send_event_go_time", + "community": 427, + "norm_label": "time" + }, + { + "label": "message_notification_sent_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_sent_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_sent_event_go", + "community": 158, + "norm_label": "message_notification_sent_event.go" + }, + { + "label": "MessageNotificationSentPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_notification_sent_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagenotificationsentpayload", + "community": 158, + "norm_label": "messagenotificationsentpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_sent_event_go_uuid", + "community": 431, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_sent_event_go_time", + "community": 430, + "norm_label": "time" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_notification_sent_event_go_duration", + "community": 429, + "norm_label": "duration" + }, + { + "label": "message_phone_delivered_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_delivered_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_delivered_event_go", + "community": 15, + "norm_label": "message_phone_delivered_event.go" + }, + { + "label": "MessagePhoneDeliveredPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_delivered_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagephonedeliveredpayload", + "community": 15, + "norm_label": "messagephonedeliveredpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_delivered_event_go_uuid", + "community": 434, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_delivered_event_go_time", + "community": 433, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_delivered_event_go_sim", + "community": 432, + "norm_label": "sim" + }, + { + "label": "message_phone_received_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_received_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_received_event_go", + "community": 160, + "norm_label": "message_phone_received_event.go" + }, + { + "label": "MessagePhoneReceivedPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_received_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagephonereceivedpayload", + "community": 160, + "norm_label": "messagephonereceivedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_received_event_go_uuid", + "community": 437, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_received_event_go_time", + "community": 436, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_received_event_go_sim", + "community": 435, + "norm_label": "sim" + }, + { + "label": "message_phone_sending_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_sending_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sending_event_go", + "community": 116, + "norm_label": "message_phone_sending_event.go" + }, + { + "label": "MessagePhoneSendingPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_sending_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_messagephonesendingpayload", + "community": 116, + "norm_label": "messagephonesendingpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sending_event_go_uuid", + "community": 440, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sending_event_go_time", + "community": 439, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sending_event_go_sim", + "community": 438, + "norm_label": "sim" + }, + { + "label": "message_phone_sent_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_sent_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sent_event_go", + "community": 15, + "norm_label": "message_phone_sent_event.go" + }, + { + "label": "MessagePhoneSentPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_phone_sent_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagephonesentpayload", + "community": 15, + "norm_label": "messagephonesentpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sent_event_go_uuid", + "community": 443, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sent_event_go_time", + "community": 442, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_phone_sent_event_go_sim", + "community": 441, + "norm_label": "sim" + }, + { + "label": "message_send_expired_check_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_send_expired_check_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_expired_check_event_go", + "community": 198, + "norm_label": "message_send_expired_check_event.go" + }, + { + "label": "MessageSendExpiredCheckPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_send_expired_check_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagesendexpiredcheckpayload", + "community": 198, + "norm_label": "messagesendexpiredcheckpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_expired_check_event_go_uuid", + "community": 445, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_expired_check_event_go_time", + "community": 444, + "norm_label": "time" + }, + { + "label": "message_send_expired_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_send_expired_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_expired_event_go", + "community": 177, + "norm_label": "message_send_expired_event.go" + }, + { + "label": "MessageSendExpiredPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_send_expired_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagesendexpiredpayload", + "community": 177, + "norm_label": "messagesendexpiredpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_expired_event_go_uuid", + "community": 448, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_expired_event_go_time", + "community": 447, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_expired_event_go_sim", + "community": 446, + "norm_label": "sim" + }, + { + "label": "message_send_failed_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_send_failed_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_failed_event_go", + "community": 287, + "norm_label": "message_send_failed_event.go" + }, + { + "label": "MessageSendFailedPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_send_failed_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_messagesendfailedpayload", + "community": 287, + "norm_label": "messagesendfailedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_failed_event_go_uuid", + "community": 451, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_failed_event_go_time", + "community": 450, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_failed_event_go_sim", + "community": 449, + "norm_label": "sim" + }, + { + "label": "message_send_retry_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_send_retry_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_retry_event_go", + "community": 68, + "norm_label": "message_send_retry_event.go" + }, + { + "label": "MessageSendRetryPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_send_retry_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagesendretrypayload", + "community": 68, + "norm_label": "messagesendretrypayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_retry_event_go_uuid", + "community": 454, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_retry_event_go_time", + "community": 453, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_retry_event_go_sim", + "community": 452, + "norm_label": "sim" + }, + { + "label": "message_send_schedule_deleted_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_send_schedule_deleted_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_schedule_deleted_event_go", + "community": 159, + "norm_label": "message_send_schedule_deleted_event.go" + }, + { + "label": "MessageSendScheduleDeletedPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_send_schedule_deleted_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_messagesendscheduledeletedpayload", + "community": 159, + "norm_label": "messagesendscheduledeletedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_schedule_deleted_event_go_uuid", + "community": 456, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_send_schedule_deleted_event_go_time", + "community": 455, + "norm_label": "time" + }, + { + "label": "message_thead_api_deleted_event.go", + "file_type": "code", + "source_file": "api/pkg/events/message_thead_api_deleted_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_thead_api_deleted_event_go", + "community": 288, + "norm_label": "message_thead_api_deleted_event.go" + }, + { + "label": "MessageThreadAPIDeletedPayload", + "file_type": "code", + "source_file": "api/pkg/events/message_thead_api_deleted_event.go", + "source_location": "L15", + "_origin": "ast", + "id": "events_messagethreadapideletedpayload", + "community": 288, + "norm_label": "messagethreadapideletedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_thead_api_deleted_event_go_uuid", + "community": 458, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_message_thead_api_deleted_event_go_time", + "community": 457, + "norm_label": "time" + }, + { + "label": "phone_deleted_event.go", + "file_type": "code", + "source_file": "api/pkg/events/phone_deleted_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_deleted_event_go", + "community": 27, + "norm_label": "phone_deleted_event.go" + }, + { + "label": "PhoneDeletedPayload", + "file_type": "code", + "source_file": "api/pkg/events/phone_deleted_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_phonedeletedpayload", + "community": 27, + "norm_label": "phonedeletedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_deleted_event_go_uuid", + "community": 461, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_deleted_event_go_time", + "community": 460, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_deleted_event_go_sim", + "community": 459, + "norm_label": "sim" + }, + { + "label": "phone_heartbeat_check_event.go", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_check_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_check_event_go", + "community": 48, + "norm_label": "phone_heartbeat_check_event.go" + }, + { + "label": "PhoneHeartbeatCheckPayload", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_check_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_phoneheartbeatcheckpayload", + "community": 48, + "norm_label": "phoneheartbeatcheckpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_check_event_go_uuid", + "community": 463, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_check_event_go_time", + "community": 462, + "norm_label": "time" + }, + { + "label": "phone_heartbeat_missed.go", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_missed.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_missed_go", + "community": 175, + "norm_label": "phone_heartbeat_missed.go" + }, + { + "label": "PhoneHeartbeatMissedPayload", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_missed.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_phoneheartbeatmissedpayload", + "community": 175, + "norm_label": "phoneheartbeatmissedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_missed_go_uuid", + "community": 465, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_missed_go_time", + "community": 464, + "norm_label": "time" + }, + { + "label": "phone_heartbeat_offline_event.go", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_offline_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_offline_event_go", + "community": 48, + "norm_label": "phone_heartbeat_offline_event.go" + }, + { + "label": "PhoneHeartbeatOfflinePayload", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_offline_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_phoneheartbeatofflinepayload", + "community": 48, + "norm_label": "phoneheartbeatofflinepayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_offline_event_go_uuid", + "community": 467, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_offline_event_go_time", + "community": 466, + "norm_label": "time" + }, + { + "label": "phone_heartbeat_online_event.go", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_online_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_online_event_go", + "community": 161, + "norm_label": "phone_heartbeat_online_event.go" + }, + { + "label": "PhoneHeartbeatOnlinePayload", + "file_type": "code", + "source_file": "api/pkg/events/phone_heartbeat_online_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_phoneheartbeatonlinepayload", + "community": 161, + "norm_label": "phoneheartbeatonlinepayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_online_event_go_uuid", + "community": 469, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_heartbeat_online_event_go_time", + "community": 468, + "norm_label": "time" + }, + { + "label": "phone_updated_event.go", + "file_type": "code", + "source_file": "api/pkg/events/phone_updated_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_updated_event_go", + "community": 27, + "norm_label": "phone_updated_event.go" + }, + { + "label": "PhoneUpdatedPayload", + "file_type": "code", + "source_file": "api/pkg/events/phone_updated_event.go", + "source_location": "L14", + "_origin": "ast", + "id": "events_phoneupdatedpayload", + "community": 27, + "norm_label": "phoneupdatedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_updated_event_go_uuid", + "community": 472, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_updated_event_go_time", + "community": 471, + "norm_label": "time" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_phone_updated_event_go_sim", + "community": 470, + "norm_label": "sim" + }, + { + "label": "user_account_created_event.go", + "file_type": "code", + "source_file": "api/pkg/events/user_account_created_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_account_created_event_go", + "community": 289, + "norm_label": "user_account_created_event.go" + }, + { + "label": "UserAccountCreatedPayload", + "file_type": "code", + "source_file": "api/pkg/events/user_account_created_event.go", + "source_location": "L13", + "_origin": "ast", + "id": "events_useraccountcreatedpayload", + "community": 289, + "norm_label": "useraccountcreatedpayload" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_account_created_event_go_time", + "community": 473, + "norm_label": "time" + }, + { + "label": "user_account_deleted_event.go", + "file_type": "code", + "source_file": "api/pkg/events/user_account_deleted_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_account_deleted_event_go", + "community": 290, + "norm_label": "user_account_deleted_event.go" + }, + { + "label": "UserAccountDeletedPayload", + "file_type": "code", + "source_file": "api/pkg/events/user_account_deleted_event.go", + "source_location": "L13", + "_origin": "ast", + "id": "events_useraccountdeletedpayload", + "community": 290, + "norm_label": "useraccountdeletedpayload" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_account_deleted_event_go_time", + "community": 474, + "norm_label": "time" + }, + { + "label": "user_api_key_rotated_event.go", + "file_type": "code", + "source_file": "api/pkg/events/user_api_key_rotated_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_api_key_rotated_event_go", + "community": 33, + "norm_label": "user_api_key_rotated_event.go" + }, + { + "label": "UserAPIKeyRotatedPayload", + "file_type": "code", + "source_file": "api/pkg/events/user_api_key_rotated_event.go", + "source_location": "L13", + "_origin": "ast", + "id": "events_userapikeyrotatedpayload", + "community": 33, + "norm_label": "userapikeyrotatedpayload" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_api_key_rotated_event_go_time", + "community": 475, + "norm_label": "time" + }, + { + "label": "user_subscription_canceled_event.go", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_canceled_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_canceled_event_go", + "community": 33, + "norm_label": "user_subscription_canceled_event.go" + }, + { + "label": "UserSubscriptionCancelledPayload", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_canceled_event.go", + "source_location": "L13", + "_origin": "ast", + "id": "events_usersubscriptioncancelledpayload", + "community": 33, + "norm_label": "usersubscriptioncancelledpayload" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_canceled_event_go_time", + "community": 476, + "norm_label": "time" + }, + { + "label": "user_subscription_created_event.go", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_created_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_created_event_go", + "community": 33, + "norm_label": "user_subscription_created_event.go" + }, + { + "label": "UserSubscriptionCreatedPayload", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_created_event.go", + "source_location": "L13", + "_origin": "ast", + "id": "events_usersubscriptioncreatedpayload", + "community": 33, + "norm_label": "usersubscriptioncreatedpayload" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_created_event_go_time", + "community": 477, + "norm_label": "time" + }, + { + "label": "user_subscription_expired_event.go", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_expired_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_expired_event_go", + "community": 33, + "norm_label": "user_subscription_expired_event.go" + }, + { + "label": "UserSubscriptionExpiredPayload", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_expired_event.go", + "source_location": "L13", + "_origin": "ast", + "id": "events_usersubscriptionexpiredpayload", + "community": 33, + "norm_label": "usersubscriptionexpiredpayload" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_expired_event_go_time", + "community": 478, + "norm_label": "time" + }, + { + "label": "user_subscription_updated_event.go", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_updated_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_updated_event_go", + "community": 33, + "norm_label": "user_subscription_updated_event.go" + }, + { + "label": "UserSubscriptionUpdatedPayload", + "file_type": "code", + "source_file": "api/pkg/events/user_subscription_updated_event.go", + "source_location": "L13", + "_origin": "ast", + "id": "events_usersubscriptionupdatedpayload", + "community": 33, + "norm_label": "usersubscriptionupdatedpayload" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_user_subscription_updated_event_go_time", + "community": 479, + "norm_label": "time" + }, + { + "label": "webhook_event_failed_event.go", + "file_type": "code", + "source_file": "api/pkg/events/webhook_event_failed_event.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_webhook_event_failed_event_go", + "community": 163, + "norm_label": "webhook_event_failed_event.go" + }, + { + "label": "WebhookSendFailedPayload", + "file_type": "code", + "source_file": "api/pkg/events/webhook_event_failed_event.go", + "source_location": "L12", + "_origin": "ast", + "id": "events_webhooksendfailedpayload", + "community": 163, + "norm_label": "webhooksendfailedpayload" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_events_webhook_event_failed_event_go_uuid", + "community": 480, + "norm_label": "uuid" + }, + { + "label": "attachment_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/attachment_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_attachment_handler_go", + "community": 72, + "norm_label": "attachment_handler.go" + }, + { + "label": "AttachmentHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/attachment_handler.go", + "source_location": "L14", + "_origin": "ast", + "id": "handlers_attachmenthandler", + "community": 72, + "norm_label": "attachmenthandler" + }, + { + "label": "NewAttachmentHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/attachment_handler.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_attachment_handler_newattachmenthandler", + "community": 72, + "norm_label": "newattachmenthandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/attachment_handler.go", + "source_location": "L35", + "_origin": "ast", + "id": "handlers_attachmenthandler_registerroutes", + "community": 72, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_attachment_handler_go_router", + "community": 482, + "norm_label": "router" + }, + { + "label": ".GetAttachment()", + "file_type": "code", + "source_file": "api/pkg/handlers/attachment_handler.go", + "source_location": "L52", + "_origin": "ast", + "id": "handlers_attachmenthandler_getattachment", + "community": 72, + "norm_label": ".getattachment()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_attachment_handler_go_ctx", + "community": 481, + "norm_label": "ctx" + }, + { + "label": "billing_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/billing_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_billing_handler_go", + "community": 34, + "norm_label": "billing_handler.go" + }, + { + "label": "BillingHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/billing_handler.go", + "source_location": "L16", + "_origin": "ast", + "id": "handlers_billinghandler", + "community": 34, + "norm_label": "billinghandler" + }, + { + "label": "NewBillingHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/billing_handler.go", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_billing_handler_newbillinghandler", + "community": 34, + "norm_label": "newbillinghandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/billing_handler.go", + "source_location": "L40", + "_origin": "ast", + "id": "handlers_billinghandler_registerroutes", + "community": 34, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_billing_handler_go_router", + "community": 484, + "norm_label": "router" + }, + { + "label": ".UsageHistory()", + "file_type": "code", + "source_file": "api/pkg/handlers/billing_handler.go", + "source_location": "L60", + "_origin": "ast", + "id": "handlers_billinghandler_usagehistory", + "community": 34, + "norm_label": ".usagehistory()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_billing_handler_go_ctx", + "community": 483, + "norm_label": "ctx" + }, + { + "label": ".Usage()", + "file_type": "code", + "source_file": "api/pkg/handlers/billing_handler.go", + "source_location": "L99", + "_origin": "ast", + "id": "handlers_billinghandler_usage", + "community": 34, + "norm_label": ".usage()" + }, + { + "label": "bulk_message_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_bulk_message_handler_go", + "community": 90, + "norm_label": "bulk_message_handler.go" + }, + { + "label": "BulkMessageHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L21", + "_origin": "ast", + "id": "handlers_bulkmessagehandler", + "community": 90, + "norm_label": "bulkmessagehandler" + }, + { + "label": "NewBulkMessageHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L31", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_bulk_message_handler_newbulkmessagehandler", + "community": 90, + "norm_label": "newbulkmessagehandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L48", + "_origin": "ast", + "id": "handlers_bulkmessagehandler_registerroutes", + "community": 90, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_bulk_message_handler_go_router", + "community": 486, + "norm_label": "router" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L64", + "_origin": "ast", + "id": "handlers_bulkmessagehandler_index", + "community": 90, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_bulk_message_handler_go_ctx", + "community": 485, + "norm_label": "ctx" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L91", + "_origin": "ast", + "id": "handlers_bulkmessagehandler_store", + "community": 90, + "norm_label": ".store()" + }, + { + "label": ".generateRequestID()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L146", + "_origin": "ast", + "id": "handlers_bulkmessagehandler_generaterequestid", + "community": 90, + "norm_label": ".generaterequestid()" + }, + { + "label": "sanitizeFilename()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L150", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_bulk_message_handler_sanitizefilename", + "community": 90, + "norm_label": "sanitizefilename()" + }, + { + "label": "encodeBase62()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L154", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_bulk_message_handler_encodebase62", + "community": 90, + "norm_label": "encodebase62()" + }, + { + "label": "truncateFilename()", + "file_type": "code", + "source_file": "api/pkg/handlers/bulk_message_handler.go", + "source_location": "L171", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_bulk_message_handler_truncatefilename", + "community": 90, + "norm_label": "truncatefilename()" + }, + { + "label": "discord_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_handlers_discord_handler", + "community": 123, + "norm_label": "discord_handler.go" + }, + { + "label": "DiscordHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L25", + "_origin": "ast", + "id": "handlers_discordhandler", + "community": 123, + "norm_label": "discordhandler" + }, + { + "label": "NewDiscordHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L37", + "_origin": "ast", + "id": "api_pkg_handlers_discord_handler_newdiscordhandler", + "community": 123, + "norm_label": "newdiscordhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L58", + "_origin": "ast", + "id": "handlers_discordhandler_registerroutes", + "community": 9, + "norm_label": ".registerroutes()" + }, + { + "label": "App", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_discord_handler_go_app", + "community": 9, + "norm_label": "app" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L85", + "_origin": "ast", + "id": "handlers_discordhandler_index", + "community": 123, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_discord_handler_go_ctx", + "community": 123, + "norm_label": "ctx" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L123", + "_origin": "ast", + "id": "handlers_discordhandler_delete", + "community": 123, + "norm_label": ".delete()" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L157", + "_origin": "ast", + "id": "handlers_discordhandler_update", + "community": 123, + "norm_label": ".update()" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L196", + "_origin": "ast", + "id": "handlers_discordhandler_store", + "community": 123, + "norm_label": ".store()" + }, + { + "label": ".Event()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L245", + "_origin": "ast", + "id": "handlers_discordhandler_event", + "community": 123, + "norm_label": ".event()" + }, + { + "label": ".createRequest()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L270", + "_origin": "ast", + "id": "handlers_discordhandler_createrequest", + "community": 123, + "norm_label": ".createrequest()" + }, + { + "label": ".sendSMS()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L286", + "_origin": "ast", + "id": "handlers_discordhandler_sendsms", + "community": 123, + "norm_label": ".sendsms()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_discord_handler_go_context", + "community": 123, + "norm_label": "context" + }, + { + "label": ".verifyInteraction()", + "file_type": "code", + "source_file": "api/pkg/handlers/discord_handler.go", + "source_location": "L406", + "_origin": "ast", + "id": "handlers_discordhandler_verifyinteraction", + "community": 123, + "norm_label": ".verifyinteraction()" + }, + { + "label": "events_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/events_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_events_handler_go", + "community": 43, + "norm_label": "events_handler.go" + }, + { + "label": "EventsHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/events_handler.go", + "source_location": "L16", + "_origin": "ast", + "id": "handlers_eventshandler", + "community": 43, + "norm_label": "eventshandler" + }, + { + "label": "NewEventsHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/events_handler.go", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_events_handler_neweventshandler", + "community": 43, + "norm_label": "neweventshandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/events_handler.go", + "source_location": "L40", + "_origin": "ast", + "id": "handlers_eventshandler_registerroutes", + "community": 43, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_events_handler_go_router", + "community": 491, + "norm_label": "router" + }, + { + "label": ".Dispatch()", + "file_type": "code", + "source_file": "api/pkg/handlers/events_handler.go", + "source_location": "L46", + "_origin": "ast", + "id": "handlers_eventshandler_dispatch", + "community": 43, + "norm_label": ".dispatch()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_events_handler_go_ctx", + "community": 490, + "norm_label": "ctx" + }, + { + "label": "firebase_email_auth_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler", + "community": 51, + "norm_label": "firebase_email_auth_handler.go" + }, + { + "label": "FirebaseEmailAuthHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L33", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler", + "community": 51, + "norm_label": "firebaseemailauthhandler" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_go_db", + "community": 51, + "norm_label": "db" + }, + { + "label": "NewFirebaseEmailAuthHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L43", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_newfirebaseemailauthhandler", + "community": 65, + "norm_label": "newfirebaseemailauthhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L58", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_registerroutes", + "community": 51, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_go_router", + "community": 51, + "norm_label": "router" + }, + { + "label": ".Authenticate()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L64", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_authenticate", + "community": 51, + "norm_label": ".authenticate()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_go_ctx", + "community": 51, + "norm_label": "ctx" + }, + { + "label": ".Refresh()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L103", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_refresh", + "community": 51, + "norm_label": ".refresh()" + }, + { + "label": ".authenticateLocally()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L135", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_authenticatelocally", + "community": 51, + "norm_label": ".authenticatelocally()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_go_context", + "community": 51, + "norm_label": "context" + }, + { + "label": "FirebaseEmailAuthResponse", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "firebaseemailauthresponse", + "community": 51, + "norm_label": "firebaseemailauthresponse" + }, + { + "label": ".refreshLocalToken()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L182", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_refreshlocaltoken", + "community": 51, + "norm_label": ".refreshlocaltoken()" + }, + { + "label": ".localAuthResponse()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L190", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_localauthresponse", + "community": 51, + "norm_label": ".localauthresponse()" + }, + { + "label": "validateFirebaseEmailAuth()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L205", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_validatefirebaseemailauth", + "community": 51, + "norm_label": "validatefirebaseemailauth()" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_go_values", + "community": 51, + "norm_label": "values" + }, + { + "label": ".callIdentityToolkit()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L219", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_callidentitytoolkit", + "community": 51, + "norm_label": ".callidentitytoolkit()" + }, + { + "label": ".callSecureToken()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L240", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_callsecuretoken", + "community": 51, + "norm_label": ".callsecuretoken()" + }, + { + "label": ".doFirebaseRequest()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L261", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_dofirebaserequest", + "community": 51, + "norm_label": ".dofirebaserequest()" + }, + { + "label": "Request", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_go_request", + "community": 51, + "norm_label": "request" + }, + { + "label": "cloneFirebaseRequest()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L308", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_clonefirebaserequest", + "community": 51, + "norm_label": "clonefirebaserequest()" + }, + { + "label": "setFirebaseBrowserHeaders()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L321", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_setfirebasebrowserheaders", + "community": 51, + "norm_label": "setfirebasebrowserheaders()" + }, + { + "label": "firebaseSafeError()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L337", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_firebasesafeerror", + "community": 51, + "norm_label": "firebasesafeerror()" + }, + { + "label": ".firebaseError()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L349", + "_origin": "ast", + "id": "handlers_firebaseemailauthhandler_firebaseerror", + "community": 51, + "norm_label": ".firebaseerror()" + }, + { + "label": "firebaseClientMessage()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L362", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_firebaseclientmessage", + "community": 51, + "norm_label": "firebaseclientmessage()" + }, + { + "label": "firebaseAuthTransport()", + "file_type": "code", + "source_file": "api/pkg/handlers/firebase_email_auth_handler.go", + "source_location": "L381", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_firebaseauthtransport", + "community": 65, + "norm_label": "firebaseauthtransport()" + }, + { + "label": "RoundTripper", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_firebase_email_auth_handler_go_roundtripper", + "community": 65, + "norm_label": "roundtripper" + }, + { + "label": "handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_handler_go", + "community": 9, + "norm_label": "handler.go" + }, + { + "label": "handler", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L16", + "_origin": "ast", + "id": "handlers_handler", + "community": 9, + "norm_label": "handler" + }, + { + "label": ".responseBadRequest()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L18", + "_origin": "ast", + "id": "handlers_handler_responsebadrequest", + "community": 9, + "norm_label": ".responsebadrequest()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_handler_go_ctx", + "community": 492, + "norm_label": "ctx" + }, + { + "label": ".responseInternalServerError()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L26", + "_origin": "ast", + "id": "handlers_handler_responseinternalservererror", + "community": 9, + "norm_label": ".responseinternalservererror()" + }, + { + "label": ".responseUnauthorized()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L33", + "_origin": "ast", + "id": "handlers_handler_responseunauthorized", + "community": 9, + "norm_label": ".responseunauthorized()" + }, + { + "label": ".responsePhoneAPIKeyUnauthorized()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L41", + "_origin": "ast", + "id": "handlers_handler_responsephoneapikeyunauthorized", + "community": 9, + "norm_label": ".responsephoneapikeyunauthorized()" + }, + { + "label": ".responseForbidden()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L49", + "_origin": "ast", + "id": "handlers_handler_responseforbidden", + "community": 9, + "norm_label": ".responseforbidden()" + }, + { + "label": ".responseUnprocessableEntity()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L56", + "_origin": "ast", + "id": "handlers_handler_responseunprocessableentity", + "community": 9, + "norm_label": ".responseunprocessableentity()" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_handler_go_values", + "community": 494, + "norm_label": "values" + }, + { + "label": ".responseNotFound()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L64", + "_origin": "ast", + "id": "handlers_handler_responsenotfound", + "community": 9, + "norm_label": ".responsenotfound()" + }, + { + "label": ".responsePaymentRequired()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L71", + "_origin": "ast", + "id": "handlers_handler_responsepaymentrequired", + "community": 9, + "norm_label": ".responsepaymentrequired()" + }, + { + "label": ".responseNoContent()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L78", + "_origin": "ast", + "id": "handlers_handler_responsenocontent", + "community": 9, + "norm_label": ".responsenocontent()" + }, + { + "label": ".responseAccepted()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L85", + "_origin": "ast", + "id": "handlers_handler_responseaccepted", + "community": 9, + "norm_label": ".responseaccepted()" + }, + { + "label": ".responseOK()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L92", + "_origin": "ast", + "id": "handlers_handler_responseok", + "community": 9, + "norm_label": ".responseok()" + }, + { + "label": ".responseCreated()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L100", + "_origin": "ast", + "id": "handlers_handler_responsecreated", + "community": 9, + "norm_label": ".responsecreated()" + }, + { + "label": ".pluralize()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L108", + "_origin": "ast", + "id": "handlers_handler_pluralize", + "community": 9, + "norm_label": ".pluralize()" + }, + { + "label": ".userFromContext()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L115", + "_origin": "ast", + "id": "handlers_handler_userfromcontext", + "community": 9, + "norm_label": ".userfromcontext()" + }, + { + "label": ".userIDFomContext()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L122", + "_origin": "ast", + "id": "handlers_handler_useridfomcontext", + "community": 9, + "norm_label": ".useridfomcontext()" + }, + { + "label": ".register()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L126", + "_origin": "ast", + "id": "handlers_handler_register", + "community": 9, + "norm_label": ".register()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_handler_go_router", + "community": 493, + "norm_label": "router" + }, + { + "label": ".mergeErrors()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L135", + "_origin": "ast", + "id": "handlers_handler_mergeerrors", + "community": 9, + "norm_label": ".mergeerrors()" + }, + { + "label": ".authorizePhoneAPIKey()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler.go", + "source_location": "L147", + "_origin": "ast", + "id": "handlers_handler_authorizephoneapikey", + "community": 9, + "norm_label": ".authorizephoneapikey()" + }, + { + "label": "handler_test.go", + "file_type": "code", + "source_file": "api/pkg/handlers/handler_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_handler_test_go", + "community": 140, + "norm_label": "handler_test.go" + }, + { + "label": "testClient()", + "file_type": "code", + "source_file": "api/pkg/handlers/handler_test.go", + "source_location": "L12", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_handler_test_testclient", + "community": 140, + "norm_label": "testclient()" + }, + { + "label": "Builder", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_handler_test_go_builder", + "community": 495, + "norm_label": "builder" + }, + { + "label": "heartbeat_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/heartbeat_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_heartbeat_handler_go", + "community": 108, + "norm_label": "heartbeat_handler.go" + }, + { + "label": "HeartbeatHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/heartbeat_handler.go", + "source_location": "L19", + "_origin": "ast", + "id": "handlers_heartbeathandler", + "community": 108, + "norm_label": "heartbeathandler" + }, + { + "label": "NewHeartbeatHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/heartbeat_handler.go", + "source_location": "L28", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_heartbeat_handler_newheartbeathandler", + "community": 108, + "norm_label": "newheartbeathandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/heartbeat_handler.go", + "source_location": "L43", + "_origin": "ast", + "id": "handlers_heartbeathandler_registerroutes", + "community": 108, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_heartbeat_handler_go_router", + "community": 497, + "norm_label": "router" + }, + { + "label": ".RegisterPhoneAPIKeyRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/heartbeat_handler.go", + "source_location": "L48", + "_origin": "ast", + "id": "handlers_heartbeathandler_registerphoneapikeyroutes", + "community": 108, + "norm_label": ".registerphoneapikeyroutes()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/heartbeat_handler.go", + "source_location": "L69", + "_origin": "ast", + "id": "handlers_heartbeathandler_index", + "community": 108, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_heartbeat_handler_go_ctx", + "community": 496, + "norm_label": "ctx" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/handlers/heartbeat_handler.go", + "source_location": "L109", + "_origin": "ast", + "id": "handlers_heartbeathandler_store", + "community": 108, + "norm_label": ".store()" + }, + { + "label": "integration_3cx_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/integration_3cx_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_handlers_integration_3cx_handler", + "community": 141, + "norm_label": "integration_3cx_handler.go" + }, + { + "label": "Integration3CXHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/integration_3cx_handler.go", + "source_location": "L15", + "_origin": "ast", + "id": "handlers_integration3cxhandler", + "community": 141, + "norm_label": "integration3cxhandler" + }, + { + "label": "NewIntegration3CxHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/integration_3cx_handler.go", + "source_location": "L24", + "_origin": "ast", + "id": "api_pkg_handlers_integration_3cx_handler_newintegration3cxhandler", + "community": 141, + "norm_label": "newintegration3cxhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/integration_3cx_handler.go", + "source_location": "L39", + "_origin": "ast", + "id": "handlers_integration3cxhandler_registerroutes", + "community": 141, + "norm_label": ".registerroutes()" + }, + { + "label": "App", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_integration_3cx_handler_go_app", + "community": 141, + "norm_label": "app" + }, + { + "label": ".Messages()", + "file_type": "code", + "source_file": "api/pkg/handlers/integration_3cx_handler.go", + "source_location": "L56", + "_origin": "ast", + "id": "handlers_integration3cxhandler_messages", + "community": 141, + "norm_label": ".messages()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_integration_3cx_handler_go_ctx", + "community": 141, + "norm_label": "ctx" + }, + { + "label": "lemonsqueezy_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/lemonsqueezy_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_lemonsqueezy_handler_go", + "community": 117, + "norm_label": "lemonsqueezy_handler.go" + }, + { + "label": "LemonsqueezyHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/lemonsqueezy_handler.go", + "source_location": "L18", + "_origin": "ast", + "id": "handlers_lemonsqueezyhandler", + "community": 117, + "norm_label": "lemonsqueezyhandler" + }, + { + "label": "NewLemonsqueezyHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/lemonsqueezy_handler.go", + "source_location": "L27", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_lemonsqueezy_handler_newlemonsqueezyhandler", + "community": 117, + "norm_label": "newlemonsqueezyhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/lemonsqueezy_handler.go", + "source_location": "L42", + "_origin": "ast", + "id": "handlers_lemonsqueezyhandler_registerroutes", + "community": 117, + "norm_label": ".registerroutes()" + }, + { + "label": "App", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_lemonsqueezy_handler_go_app", + "community": 500, + "norm_label": "app" + }, + { + "label": ".Event()", + "file_type": "code", + "source_file": "api/pkg/handlers/lemonsqueezy_handler.go", + "source_location": "L48", + "_origin": "ast", + "id": "handlers_lemonsqueezyhandler_event", + "community": 117, + "norm_label": ".event()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_lemonsqueezy_handler_go_ctx", + "community": 502, + "norm_label": "ctx" + }, + { + "label": ".handleRequest()", + "file_type": "code", + "source_file": "api/pkg/handlers/lemonsqueezy_handler.go", + "source_location": "L66", + "_origin": "ast", + "id": "handlers_lemonsqueezyhandler_handlerequest", + "community": 117, + "norm_label": ".handlerequest()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_lemonsqueezy_handler_go_context", + "community": 501, + "norm_label": "context" + }, + { + "label": "message_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_handlers_message_handler", + "community": 10, + "norm_label": "message_handler.go" + }, + { + "label": "MessageHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L25", + "_origin": "ast", + "id": "handlers_messagehandler", + "community": 10, + "norm_label": "messagehandler" + }, + { + "label": "NewMessageHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L35", + "_origin": "ast", + "id": "api_pkg_handlers_message_handler_newmessagehandler", + "community": 14, + "norm_label": "newmessagehandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L52", + "_origin": "ast", + "id": "handlers_messagehandler_registerroutes", + "community": 10, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_message_handler_go_router", + "community": 10, + "norm_label": "router" + }, + { + "label": ".RegisterPhoneAPIKeyRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L62", + "_origin": "ast", + "id": "handlers_messagehandler_registerphoneapikeyroutes", + "community": 10, + "norm_label": ".registerphoneapikeyroutes()" + }, + { + "label": ".PostSend()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L83", + "_origin": "ast", + "id": "handlers_messagehandler_postsend", + "community": 10, + "norm_label": ".postsend()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_message_handler_go_ctx", + "community": 10, + "norm_label": "ctx" + }, + { + "label": ".BulkSend()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L128", + "_origin": "ast", + "id": "handlers_messagehandler_bulksend", + "community": 10, + "norm_label": ".bulksend()" + }, + { + "label": ".GetOutstanding()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L188", + "_origin": "ast", + "id": "handlers_messagehandler_getoutstanding", + "community": 10, + "norm_label": ".getoutstanding()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L239", + "_origin": "ast", + "id": "handlers_messagehandler_index", + "community": 10, + "norm_label": ".index()" + }, + { + "label": ".PostEvent()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L281", + "_origin": "ast", + "id": "handlers_messagehandler_postevent", + "community": 10, + "norm_label": ".postevent()" + }, + { + "label": ".PostReceive()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L340", + "_origin": "ast", + "id": "handlers_messagehandler_postreceive", + "community": 10, + "norm_label": ".postreceive()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L391", + "_origin": "ast", + "id": "handlers_messagehandler_delete", + "community": 10, + "norm_label": ".delete()" + }, + { + "label": ".Get()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L436", + "_origin": "ast", + "id": "handlers_messagehandler_get", + "community": 10, + "norm_label": ".get()" + }, + { + "label": ".PostCallMissed()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L476", + "_origin": "ast", + "id": "handlers_messagehandler_postcallmissed", + "community": 10, + "norm_label": ".postcallmissed()" + }, + { + "label": ".Search()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_handler.go", + "source_location": "L525", + "_origin": "ast", + "id": "handlers_messagehandler_search", + "community": 10, + "norm_label": ".search()" + }, + { + "label": "message_send_schedule_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_send_schedule_handler_go", + "community": 24, + "norm_label": "message_send_schedule_handler.go" + }, + { + "label": "MessageSendScheduleHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L19", + "_origin": "ast", + "id": "handlers_messagesendschedulehandler", + "community": 24, + "norm_label": "messagesendschedulehandler" + }, + { + "label": "NewMessageSendScheduleHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_send_schedule_handler_newmessagesendschedulehandler", + "community": 24, + "norm_label": "newmessagesendschedulehandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L46", + "_origin": "ast", + "id": "handlers_messagesendschedulehandler_registerroutes", + "community": 24, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_send_schedule_handler_go_router", + "community": 504, + "norm_label": "router" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L64", + "_origin": "ast", + "id": "handlers_messagesendschedulehandler_index", + "community": 24, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_send_schedule_handler_go_ctx", + "community": 503, + "norm_label": "ctx" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L95", + "_origin": "ast", + "id": "handlers_messagesendschedulehandler_store", + "community": 24, + "norm_label": ".store()" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L153", + "_origin": "ast", + "id": "handlers_messagesendschedulehandler_update", + "community": 24, + "norm_label": ".update()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_send_schedule_handler.go", + "source_location": "L200", + "_origin": "ast", + "id": "handlers_messagesendschedulehandler_delete", + "community": 24, + "norm_label": ".delete()" + }, + { + "label": "message_thread_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/message_thread_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_thread_handler_go", + "community": 3, + "norm_label": "message_thread_handler.go" + }, + { + "label": "MessageThreadHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/message_thread_handler.go", + "source_location": "L19", + "_origin": "ast", + "id": "handlers_messagethreadhandler", + "community": 3, + "norm_label": "messagethreadhandler" + }, + { + "label": "NewMessageThreadHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_thread_handler.go", + "source_location": "L28", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_thread_handler_newmessagethreadhandler", + "community": 3, + "norm_label": "newmessagethreadhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_thread_handler.go", + "source_location": "L43", + "_origin": "ast", + "id": "handlers_messagethreadhandler_registerroutes", + "community": 3, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_thread_handler_go_router", + "community": 506, + "norm_label": "router" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_thread_handler.go", + "source_location": "L66", + "_origin": "ast", + "id": "handlers_messagethreadhandler_index", + "community": 3, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_message_thread_handler_go_ctx", + "community": 505, + "norm_label": "ctx" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_thread_handler.go", + "source_location": "L109", + "_origin": "ast", + "id": "handlers_messagethreadhandler_update", + "community": 3, + "norm_label": ".update()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/message_thread_handler.go", + "source_location": "L149", + "_origin": "ast", + "id": "handlers_messagethreadhandler_delete", + "community": 3, + "norm_label": ".delete()" + }, + { + "label": "phone_api_key_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_go", + "community": 64, + "norm_label": "phone_api_key_handler.go" + }, + { + "label": "PhoneAPIKeyHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L19", + "_origin": "ast", + "id": "handlers_phoneapikeyhandler", + "community": 64, + "norm_label": "phoneapikeyhandler" + }, + { + "label": "NewPhoneAPIKeyHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_newphoneapikeyhandler", + "community": 64, + "norm_label": "newphoneapikeyhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L46", + "_origin": "ast", + "id": "handlers_phoneapikeyhandler_registerroutes", + "community": 64, + "norm_label": ".registerroutes()" + }, + { + "label": "App", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_go_app", + "community": 507, + "norm_label": "app" + }, + { + "label": ".index()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L69", + "_origin": "ast", + "id": "handlers_phoneapikeyhandler_index", + "community": 64, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_go_ctx", + "community": 508, + "norm_label": "ctx" + }, + { + "label": ".store()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L107", + "_origin": "ast", + "id": "handlers_phoneapikeyhandler_store", + "community": 64, + "norm_label": ".store()" + }, + { + "label": ".delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L158", + "_origin": "ast", + "id": "handlers_phoneapikeyhandler_delete", + "community": 64, + "norm_label": ".delete()" + }, + { + "label": ".deletePhone()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler.go", + "source_location": "L196", + "_origin": "ast", + "id": "handlers_phoneapikeyhandler_deletephone", + "community": 64, + "norm_label": ".deletephone()" + }, + { + "label": "phone_api_key_handler_test.go", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_test_go", + "community": 140, + "norm_label": "phone_api_key_handler_test.go" + }, + { + "label": "TestPhoneAPIKeyHandler_store()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler_test.go", + "source_location": "L18", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_test_testphoneapikeyhandler_store", + "community": 140, + "norm_label": "testphoneapikeyhandler_store()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_test_go_t", + "community": 509, + "norm_label": "t" + }, + { + "label": "TestPhoneAPIKeyHandler_delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler_test.go", + "source_location": "L49", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_test_testphoneapikeyhandler_delete", + "community": 140, + "norm_label": "testphoneapikeyhandler_delete()" + }, + { + "label": "TestPhoneAPIKeyHandler_index()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_api_key_handler_test.go", + "source_location": "L84", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_api_key_handler_test_testphoneapikeyhandler_index", + "community": 140, + "norm_label": "testphoneapikeyhandler_index()" + }, + { + "label": "phone_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_handler_go", + "community": 103, + "norm_label": "phone_handler.go" + }, + { + "label": "PhoneHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L18", + "_origin": "ast", + "id": "handlers_phonehandler", + "community": 103, + "norm_label": "phonehandler" + }, + { + "label": "NewPhoneHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L27", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_handler_newphonehandler", + "community": 103, + "norm_label": "newphonehandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L42", + "_origin": "ast", + "id": "handlers_phonehandler_registerroutes", + "community": 103, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_handler_go_router", + "community": 511, + "norm_label": "router" + }, + { + "label": ".RegisterPhoneAPIKeyRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L49", + "_origin": "ast", + "id": "handlers_phonehandler_registerphoneapikeyroutes", + "community": 103, + "norm_label": ".registerphoneapikeyroutes()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L69", + "_origin": "ast", + "id": "handlers_phonehandler_index", + "community": 103, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_handlers_phone_handler_go_ctx", + "community": 510, + "norm_label": "ctx" + }, + { + "label": ".Upsert()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L109", + "_origin": "ast", + "id": "handlers_phonehandler_upsert", + "community": 103, + "norm_label": ".upsert()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L149", + "_origin": "ast", + "id": "handlers_phonehandler_delete", + "community": 103, + "norm_label": ".delete()" + }, + { + "label": ".UpsertFCMToken()", + "file_type": "code", + "source_file": "api/pkg/handlers/phone_handler.go", + "source_location": "L187", + "_origin": "ast", + "id": "handlers_phonehandler_upsertfcmtoken", + "community": 103, + "norm_label": ".upsertfcmtoken()" + }, + { + "label": "user_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_handlers_user_handler", + "community": 96, + "norm_label": "user_handler.go" + }, + { + "label": "UserHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L18", + "_origin": "ast", + "id": "handlers_userhandler", + "community": 96, + "norm_label": "userhandler" + }, + { + "label": "NewUserHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L27", + "_origin": "ast", + "id": "api_pkg_handlers_user_handler_newuserhandler", + "community": 96, + "norm_label": "newuserhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L42", + "_origin": "ast", + "id": "handlers_userhandler_registerroutes", + "community": 96, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_user_handler_go_router", + "community": 96, + "norm_label": "router" + }, + { + "label": ".Show()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L70", + "_origin": "ast", + "id": "handlers_userhandler_show", + "community": 96, + "norm_label": ".show()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_user_handler_go_ctx", + "community": 96, + "norm_label": "ctx" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L98", + "_origin": "ast", + "id": "handlers_userhandler_update", + "community": 96, + "norm_label": ".update()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L135", + "_origin": "ast", + "id": "handlers_userhandler_delete", + "community": 96, + "norm_label": ".delete()" + }, + { + "label": ".UpdateNotifications()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L162", + "_origin": "ast", + "id": "handlers_userhandler_updatenotifications", + "community": 96, + "norm_label": ".updatenotifications()" + }, + { + "label": ".subscriptionUpdateURL()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L193", + "_origin": "ast", + "id": "handlers_userhandler_subscriptionupdateurl", + "community": 96, + "norm_label": ".subscriptionupdateurl()" + }, + { + "label": ".cancelSubscription()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L221", + "_origin": "ast", + "id": "handlers_userhandler_cancelsubscription", + "community": 96, + "norm_label": ".cancelsubscription()" + }, + { + "label": ".DeleteAPIKey()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L251", + "_origin": "ast", + "id": "handlers_userhandler_deleteapikey", + "community": 96, + "norm_label": ".deleteapikey()" + }, + { + "label": ".subscriptionPayments()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L283", + "_origin": "ast", + "id": "handlers_userhandler_subscriptionpayments", + "community": 96, + "norm_label": ".subscriptionpayments()" + }, + { + "label": ".subscriptionInvoice()", + "file_type": "code", + "source_file": "api/pkg/handlers/user_handler.go", + "source_location": "L311", + "_origin": "ast", + "id": "handlers_userhandler_subscriptioninvoice", + "community": 96, + "norm_label": ".subscriptioninvoice()" + }, + { + "label": "webhook_handler.go", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_handlers_webhook_handler", + "community": 8, + "norm_label": "webhook_handler.go" + }, + { + "label": "WebhookHandler", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L20", + "_origin": "ast", + "id": "handlers_webhookhandler", + "community": 8, + "norm_label": "webhookhandler" + }, + { + "label": "NewWebhookHandler()", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L29", + "_origin": "ast", + "id": "api_pkg_handlers_webhook_handler_newwebhookhandler", + "community": 8, + "norm_label": "newwebhookhandler()" + }, + { + "label": ".RegisterRoutes()", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L44", + "_origin": "ast", + "id": "handlers_webhookhandler_registerroutes", + "community": 8, + "norm_label": ".registerroutes()" + }, + { + "label": "Router", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_webhook_handler_go_router", + "community": 8, + "norm_label": "router" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L67", + "_origin": "ast", + "id": "handlers_webhookhandler_index", + "community": 8, + "norm_label": ".index()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_handlers_webhook_handler_go_ctx", + "community": 8, + "norm_label": "ctx" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L105", + "_origin": "ast", + "id": "handlers_webhookhandler_delete", + "community": 8, + "norm_label": ".delete()" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L138", + "_origin": "ast", + "id": "handlers_webhookhandler_store", + "community": 8, + "norm_label": ".store()" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/handlers/webhook_handler.go", + "source_location": "L190", + "_origin": "ast", + "id": "handlers_webhookhandler_update", + "community": 8, + "norm_label": ".update()" + }, + { + "label": "billing_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/billing_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_billing_listener_go", + "community": 146, + "norm_label": "billing_listener.go" + }, + { + "label": "BillingListener", + "file_type": "code", + "source_file": "api/pkg/listeners/billing_listener.go", + "source_location": "L17", + "_origin": "ast", + "id": "listeners_billinglistener", + "community": 146, + "norm_label": "billinglistener" + }, + { + "label": "NewBillingListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/billing_listener.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_billing_listener_newbillinglistener", + "community": 146, + "norm_label": "newbillinglistener()" + }, + { + "label": ".OnMessageAPISent()", + "file_type": "code", + "source_file": "api/pkg/listeners/billing_listener.go", + "source_location": "L43", + "_origin": "ast", + "id": "listeners_billinglistener_onmessageapisent", + "community": 146, + "norm_label": ".onmessageapisent()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_billing_listener_go_context", + "community": 514, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_billing_listener_go_event", + "community": 515, + "norm_label": "event" + }, + { + "label": ".OnMessagePhoneReceived()", + "file_type": "code", + "source_file": "api/pkg/listeners/billing_listener.go", + "source_location": "L60", + "_origin": "ast", + "id": "listeners_billinglistener_onmessagephonereceived", + "community": 146, + "norm_label": ".onmessagephonereceived()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/billing_listener.go", + "source_location": "L76", + "_origin": "ast", + "id": "listeners_billinglistener_onuseraccountdeleted", + "community": 146, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "discord_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/discord_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_discord_listener_go", + "community": 179, + "norm_label": "discord_listener.go" + }, + { + "label": "DiscordListener", + "file_type": "code", + "source_file": "api/pkg/listeners/discord_listener.go", + "source_location": "L15", + "_origin": "ast", + "id": "listeners_discordlistener", + "community": 179, + "norm_label": "discordlistener" + }, + { + "label": "NewDiscordListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/discord_listener.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_discord_listener_newdiscordlistener", + "community": 179, + "norm_label": "newdiscordlistener()" + }, + { + "label": ".OnMessagePhoneReceived()", + "file_type": "code", + "source_file": "api/pkg/listeners/discord_listener.go", + "source_location": "L40", + "_origin": "ast", + "id": "listeners_discordlistener_onmessagephonereceived", + "community": 179, + "norm_label": ".onmessagephonereceived()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_discord_listener_go_context", + "community": 516, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_discord_listener_go_event", + "community": 517, + "norm_label": "event" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/discord_listener.go", + "source_location": "L56", + "_origin": "ast", + "id": "listeners_discordlistener_onuseraccountdeleted", + "community": 179, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "email_notification_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/email_notification_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_email_notification_listener_go", + "community": 125, + "norm_label": "email_notification_listener.go" + }, + { + "label": "EmailNotificationListener", + "file_type": "code", + "source_file": "api/pkg/listeners/email_notification_listener.go", + "source_location": "L15", + "_origin": "ast", + "id": "listeners_emailnotificationlistener", + "community": 125, + "norm_label": "emailnotificationlistener" + }, + { + "label": "NewEmailNotificationListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/email_notification_listener.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_email_notification_listener_newemailnotificationlistener", + "community": 125, + "norm_label": "newemailnotificationlistener()" + }, + { + "label": ".OnMessageSendExpired()", + "file_type": "code", + "source_file": "api/pkg/listeners/email_notification_listener.go", + "source_location": "L42", + "_origin": "ast", + "id": "listeners_emailnotificationlistener_onmessagesendexpired", + "community": 125, + "norm_label": ".onmessagesendexpired()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_email_notification_listener_go_context", + "community": 518, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_email_notification_listener_go_event", + "community": 519, + "norm_label": "event" + }, + { + "label": ".OnMessageSendFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/email_notification_listener.go", + "source_location": "L59", + "_origin": "ast", + "id": "listeners_emailnotificationlistener_onmessagesendfailed", + "community": 125, + "norm_label": ".onmessagesendfailed()" + }, + { + "label": ".OnWebhookSendFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/email_notification_listener.go", + "source_location": "L76", + "_origin": "ast", + "id": "listeners_emailnotificationlistener_onwebhooksendfailed", + "community": 125, + "norm_label": ".onwebhooksendfailed()" + }, + { + "label": ".OnDiscordSendFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/email_notification_listener.go", + "source_location": "L93", + "_origin": "ast", + "id": "listeners_emailnotificationlistener_ondiscordsendfailed", + "community": 125, + "norm_label": ".ondiscordsendfailed()" + }, + { + "label": "heartbeat_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_heartbeat_listener_go", + "community": 148, + "norm_label": "heartbeat_listener.go" + }, + { + "label": "HeartbeatListener", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L17", + "_origin": "ast", + "id": "listeners_heartbeatlistener", + "community": 148, + "norm_label": "heartbeatlistener" + }, + { + "label": "NewHeartbeatListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_heartbeat_listener_newheartbeatlistener", + "community": 148, + "norm_label": "newheartbeatlistener()" + }, + { + "label": ".onPhoneUpdated()", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L45", + "_origin": "ast", + "id": "listeners_heartbeatlistener_onphoneupdated", + "community": 148, + "norm_label": ".onphoneupdated()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_heartbeat_listener_go_context", + "community": 520, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_heartbeat_listener_go_event", + "community": 521, + "norm_label": "event" + }, + { + "label": ".onPhoneDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L69", + "_origin": "ast", + "id": "listeners_heartbeatlistener_onphonedeleted", + "community": 148, + "norm_label": ".onphonedeleted()" + }, + { + "label": ".onPhoneHeartbeatCheck()", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L86", + "_origin": "ast", + "id": "listeners_heartbeatlistener_onphoneheartbeatcheck", + "community": 148, + "norm_label": ".onphoneheartbeatcheck()" + }, + { + "label": ".onPhoneHeartbeatOffline()", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L111", + "_origin": "ast", + "id": "listeners_heartbeatlistener_onphoneheartbeatoffline", + "community": 148, + "norm_label": ".onphoneheartbeatoffline()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/heartbeat_listener.go", + "source_location": "L127", + "_origin": "ast", + "id": "listeners_heartbeatlistener_onuseraccountdeleted", + "community": 148, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "integration_3cx_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_integration_3cx_listener_go", + "community": 120, + "norm_label": "integration_3cx_listener.go" + }, + { + "label": "Integration3CXListener", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L15", + "_origin": "ast", + "id": "listeners_integration3cxlistener", + "community": 120, + "norm_label": "integration3cxlistener" + }, + { + "label": "NewIntegration3CXListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_integration_3cx_listener_newintegration3cxlistener", + "community": 120, + "norm_label": "newintegration3cxlistener()" + }, + { + "label": ".OnMessagePhoneReceived()", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L43", + "_origin": "ast", + "id": "listeners_integration3cxlistener_onmessagephonereceived", + "community": 120, + "norm_label": ".onmessagephonereceived()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_integration_3cx_listener_go_context", + "community": 522, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_integration_3cx_listener_go_event", + "community": 523, + "norm_label": "event" + }, + { + "label": ".OnMessageSendFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L60", + "_origin": "ast", + "id": "listeners_integration3cxlistener_onmessagesendfailed", + "community": 120, + "norm_label": ".onmessagesendfailed()" + }, + { + "label": ".OnMessagePhoneSent()", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L77", + "_origin": "ast", + "id": "listeners_integration3cxlistener_onmessagephonesent", + "community": 120, + "norm_label": ".onmessagephonesent()" + }, + { + "label": ".OnMessagePhoneDelivered()", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L94", + "_origin": "ast", + "id": "listeners_integration3cxlistener_onmessagephonedelivered", + "community": 120, + "norm_label": ".onmessagephonedelivered()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/integration_3cx_listener.go", + "source_location": "L110", + "_origin": "ast", + "id": "listeners_integration3cxlistener_onuseraccountdeleted", + "community": 120, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "marketing_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/marketing_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_marketing_listener_go", + "community": 180, + "norm_label": "marketing_listener.go" + }, + { + "label": "MarketingListener", + "file_type": "code", + "source_file": "api/pkg/listeners/marketing_listener.go", + "source_location": "L15", + "_origin": "ast", + "id": "listeners_marketinglistener", + "community": 180, + "norm_label": "marketinglistener" + }, + { + "label": "NewMarketingListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/marketing_listener.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_marketing_listener_newmarketinglistener", + "community": 180, + "norm_label": "newmarketinglistener()" + }, + { + "label": ".onUserAccountCreated()", + "file_type": "code", + "source_file": "api/pkg/listeners/marketing_listener.go", + "source_location": "L39", + "_origin": "ast", + "id": "listeners_marketinglistener_onuseraccountcreated", + "community": 180, + "norm_label": ".onuseraccountcreated()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_marketing_listener_go_context", + "community": 524, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_marketing_listener_go_event", + "community": 525, + "norm_label": "event" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/marketing_listener.go", + "source_location": "L55", + "_origin": "ast", + "id": "listeners_marketinglistener_onuseraccountdeleted", + "community": 180, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "message_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_listener_go", + "community": 66, + "norm_label": "message_listener.go" + }, + { + "label": "MessageListener", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L16", + "_origin": "ast", + "id": "listeners_messagelistener", + "community": 66, + "norm_label": "messagelistener" + }, + { + "label": "NewMessageListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_listener_newmessagelistener", + "community": 66, + "norm_label": "newmessagelistener()" + }, + { + "label": ".OnMessagePhoneSending()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L51", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagephonesending", + "community": 66, + "norm_label": ".onmessagephonesending()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_listener_go_context", + "community": 526, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_listener_go_event", + "community": 527, + "norm_label": "event" + }, + { + "label": ".OnMessagePhoneSent()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L75", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagephonesent", + "community": 66, + "norm_label": ".onmessagephonesent()" + }, + { + "label": ".OnMessagePhoneDelivered()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L98", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagephonedelivered", + "community": 66, + "norm_label": ".onmessagephonedelivered()" + }, + { + "label": ".OnMessagePhoneFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L121", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagephonefailed", + "community": 66, + "norm_label": ".onmessagephonefailed()" + }, + { + "label": ".onMessageNotificationFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L145", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagenotificationfailed", + "community": 66, + "norm_label": ".onmessagenotificationfailed()" + }, + { + "label": ".onMessageNotificationSent()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L174", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagenotificationsent", + "community": 66, + "norm_label": ".onmessagenotificationsent()" + }, + { + "label": ".onMessageSendExpiredCheck()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L209", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagesendexpiredcheck", + "community": 66, + "norm_label": ".onmessagesendexpiredcheck()" + }, + { + "label": ".onMessageSendExpired()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L231", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagesendexpired", + "community": 66, + "norm_label": ".onmessagesendexpired()" + }, + { + "label": ".onMessageNotificationScheduled()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L254", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagenotificationscheduled", + "community": 66, + "norm_label": ".onmessagenotificationscheduled()" + }, + { + "label": ".onMessageThreadAPIDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L277", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagethreadapideleted", + "community": 66, + "norm_label": ".onmessagethreadapideleted()" + }, + { + "label": ".onMessageCallMissed()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L294", + "_origin": "ast", + "id": "listeners_messagelistener_onmessagecallmissed", + "community": 66, + "norm_label": ".onmessagecallmissed()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_listener.go", + "source_location": "L310", + "_origin": "ast", + "id": "listeners_messagelistener_onuseraccountdeleted", + "community": 66, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "message_send_schedule_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/message_send_schedule_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_send_schedule_listener_go", + "community": 250, + "norm_label": "message_send_schedule_listener.go" + }, + { + "label": "MessageSendScheduleListener", + "file_type": "code", + "source_file": "api/pkg/listeners/message_send_schedule_listener.go", + "source_location": "L15", + "_origin": "ast", + "id": "listeners_messagesendschedulelistener", + "community": 250, + "norm_label": "messagesendschedulelistener" + }, + { + "label": "NewMessageSendScheduleListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_send_schedule_listener.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_send_schedule_listener_newmessagesendschedulelistener", + "community": 250, + "norm_label": "newmessagesendschedulelistener()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_send_schedule_listener.go", + "source_location": "L39", + "_origin": "ast", + "id": "listeners_messagesendschedulelistener_onuseraccountdeleted", + "community": 250, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_send_schedule_listener_go_context", + "community": 528, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_send_schedule_listener_go_event", + "community": 529, + "norm_label": "event" + }, + { + "label": "message_thread_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_thread_listener_go", + "community": 52, + "norm_label": "message_thread_listener.go" + }, + { + "label": "MessageThreadListener", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L17", + "_origin": "ast", + "id": "listeners_messagethreadlistener", + "community": 52, + "norm_label": "messagethreadlistener" + }, + { + "label": "NewMessageThreadListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_thread_listener_newmessagethreadlistener", + "community": 52, + "norm_label": "newmessagethreadlistener()" + }, + { + "label": ".OnMessageAPISent()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L50", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessageapisent", + "community": 52, + "norm_label": ".onmessageapisent()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_thread_listener_go_context", + "community": 530, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_message_thread_listener_go_event", + "community": 531, + "norm_label": "event" + }, + { + "label": ".onMessageDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L77", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessagedeleted", + "community": 52, + "norm_label": ".onmessagedeleted()" + }, + { + "label": ".OnMessagePhoneSending()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L94", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessagephonesending", + "community": 52, + "norm_label": ".onmessagephonesending()" + }, + { + "label": ".OnMessagePhoneSent()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L121", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessagephonesent", + "community": 52, + "norm_label": ".onmessagephonesent()" + }, + { + "label": ".OnMessagePhoneDelivered()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L148", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessagephonedelivered", + "community": 52, + "norm_label": ".onmessagephonedelivered()" + }, + { + "label": ".OnMessagePhoneFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L175", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessagephonefailed", + "community": 52, + "norm_label": ".onmessagephonefailed()" + }, + { + "label": ".OnMessagePhoneReceived()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L202", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessagephonereceived", + "community": 52, + "norm_label": ".onmessagephonereceived()" + }, + { + "label": ".onMessageNotificationScheduled()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L229", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessagenotificationscheduled", + "community": 52, + "norm_label": ".onmessagenotificationscheduled()" + }, + { + "label": ".onMessageExpired()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L256", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onmessageexpired", + "community": 52, + "norm_label": ".onmessageexpired()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L282", + "_origin": "ast", + "id": "listeners_messagethreadlistener_onuseraccountdeleted", + "community": 52, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": ".updateThread()", + "file_type": "code", + "source_file": "api/pkg/listeners/message_thread_listener.go", + "source_location": "L298", + "_origin": "ast", + "id": "listeners_messagethreadlistener_updatethread", + "community": 5, + "norm_label": ".updatethread()" + }, + { + "label": "phone_api_key_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_api_key_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_api_key_listener_go", + "community": 136, + "norm_label": "phone_api_key_listener.go" + }, + { + "label": "PhoneAPIKeyListener", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_api_key_listener.go", + "source_location": "L19", + "_origin": "ast", + "id": "listeners_phoneapikeylistener", + "community": 136, + "norm_label": "phoneapikeylistener" + }, + { + "label": "NewPhoneAPIKeyListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_api_key_listener.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_api_key_listener_newphoneapikeylistener", + "community": 136, + "norm_label": "newphoneapikeylistener()" + }, + { + "label": ".onPhoneUpdated()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_api_key_listener.go", + "source_location": "L45", + "_origin": "ast", + "id": "listeners_phoneapikeylistener_onphoneupdated", + "community": 136, + "norm_label": ".onphoneupdated()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_api_key_listener_go_context", + "community": 532, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_api_key_listener_go_event", + "community": 533, + "norm_label": "event" + }, + { + "label": ".onPhoneDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_api_key_listener.go", + "source_location": "L67", + "_origin": "ast", + "id": "listeners_phoneapikeylistener_onphonedeleted", + "community": 136, + "norm_label": ".onphonedeleted()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_api_key_listener.go", + "source_location": "L84", + "_origin": "ast", + "id": "listeners_phoneapikeylistener_onuseraccountdeleted", + "community": 136, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "phone_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_listener_go", + "community": 181, + "norm_label": "phone_listener.go" + }, + { + "label": "PhoneListener", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_listener.go", + "source_location": "L16", + "_origin": "ast", + "id": "listeners_phonelistener", + "community": 181, + "norm_label": "phonelistener" + }, + { + "label": "NewPhoneListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_listener.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_listener_newphonelistener", + "community": 181, + "norm_label": "newphonelistener()" + }, + { + "label": ".onMessageSendScheduleDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_listener.go", + "source_location": "L41", + "_origin": "ast", + "id": "listeners_phonelistener_onmessagesendscheduledeleted", + "community": 181, + "norm_label": ".onmessagesendscheduledeleted()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_listener_go_context", + "community": 534, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_listener_go_event", + "community": 535, + "norm_label": "event" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_listener.go", + "source_location": "L58", + "_origin": "ast", + "id": "listeners_phonelistener_onuseraccountdeleted", + "community": 181, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "phone_notification_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_notification_listener_go", + "community": 104, + "norm_label": "phone_notification_listener.go" + }, + { + "label": "PhoneNotificationListener", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L17", + "_origin": "ast", + "id": "listeners_phonenotificationlistener", + "community": 104, + "norm_label": "phonenotificationlistener" + }, + { + "label": "NewNotificationListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_notification_listener_newnotificationlistener", + "community": 104, + "norm_label": "newnotificationlistener()" + }, + { + "label": ".onMessageAPISent()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L46", + "_origin": "ast", + "id": "listeners_phonenotificationlistener_onmessageapisent", + "community": 104, + "norm_label": ".onmessageapisent()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_notification_listener_go_context", + "community": 536, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_phone_notification_listener_go_event", + "community": 537, + "norm_label": "event" + }, + { + "label": ".onMessageSendRetry()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L76", + "_origin": "ast", + "id": "listeners_phonenotificationlistener_onmessagesendretry", + "community": 104, + "norm_label": ".onmessagesendretry()" + }, + { + "label": ".onPhoneHeartbeatMissed()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L104", + "_origin": "ast", + "id": "listeners_phonenotificationlistener_onphoneheartbeatmissed", + "community": 104, + "norm_label": ".onphoneheartbeatmissed()" + }, + { + "label": ".onMessageNotificationSend()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L121", + "_origin": "ast", + "id": "listeners_phonenotificationlistener_onmessagenotificationsend", + "community": 104, + "norm_label": ".onmessagenotificationsend()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L146", + "_origin": "ast", + "id": "listeners_phonenotificationlistener_onuseraccountdeleted", + "community": 104, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": ".onMessageAPIDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/phone_notification_listener.go", + "source_location": "L163", + "_origin": "ast", + "id": "listeners_phonenotificationlistener_onmessageapideleted", + "community": 104, + "norm_label": ".onmessageapideleted()" + }, + { + "label": "user_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_user_listener_go", + "community": 105, + "norm_label": "user_listener.go" + }, + { + "label": "UserListener", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L17", + "_origin": "ast", + "id": "listeners_userlistener", + "community": 105, + "norm_label": "userlistener" + }, + { + "label": "NewUserListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_user_listener_newuserlistener", + "community": 105, + "norm_label": "newuserlistener()" + }, + { + "label": ".onPhoneHeartbeatDead()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L47", + "_origin": "ast", + "id": "listeners_userlistener_onphoneheartbeatdead", + "community": 105, + "norm_label": ".onphoneheartbeatdead()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_user_listener_go_context", + "community": 538, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_user_listener_go_event", + "community": 539, + "norm_label": "event" + }, + { + "label": ".onUserAPIKeyRotated()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L71", + "_origin": "ast", + "id": "listeners_userlistener_onuserapikeyrotated", + "community": 105, + "norm_label": ".onuserapikeyrotated()" + }, + { + "label": ".OnUserSubscriptionCreated()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L88", + "_origin": "ast", + "id": "listeners_userlistener_onusersubscriptioncreated", + "community": 105, + "norm_label": ".onusersubscriptioncreated()" + }, + { + "label": ".OnUserSubscriptionCancelled()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L105", + "_origin": "ast", + "id": "listeners_userlistener_onusersubscriptioncancelled", + "community": 105, + "norm_label": ".onusersubscriptioncancelled()" + }, + { + "label": ".OnUserSubscriptionExpired()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L122", + "_origin": "ast", + "id": "listeners_userlistener_onusersubscriptionexpired", + "community": 105, + "norm_label": ".onusersubscriptionexpired()" + }, + { + "label": ".OnUserSubscriptionUpdated()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L139", + "_origin": "ast", + "id": "listeners_userlistener_onusersubscriptionupdated", + "community": 105, + "norm_label": ".onusersubscriptionupdated()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/user_listener.go", + "source_location": "L155", + "_origin": "ast", + "id": "listeners_userlistener_onuseraccountdeleted", + "community": 105, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "webhook_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_webhook_listener_go", + "community": 74, + "norm_label": "webhook_listener.go" + }, + { + "label": "WebhookListener", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L15", + "_origin": "ast", + "id": "listeners_webhooklistener", + "community": 74, + "norm_label": "webhooklistener" + }, + { + "label": "NewWebhookListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_webhook_listener_newwebhooklistener", + "community": 74, + "norm_label": "newwebhooklistener()" + }, + { + "label": ".OnMessagePhoneReceived()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L47", + "_origin": "ast", + "id": "listeners_webhooklistener_onmessagephonereceived", + "community": 74, + "norm_label": ".onmessagephonereceived()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_webhook_listener_go_context", + "community": 540, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_webhook_listener_go_event", + "community": 541, + "norm_label": "event" + }, + { + "label": ".OnMessageSendExpired()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L64", + "_origin": "ast", + "id": "listeners_webhooklistener_onmessagesendexpired", + "community": 74, + "norm_label": ".onmessagesendexpired()" + }, + { + "label": ".OnMessageSendFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L81", + "_origin": "ast", + "id": "listeners_webhooklistener_onmessagesendfailed", + "community": 74, + "norm_label": ".onmessagesendfailed()" + }, + { + "label": ".OnMessagePhoneSent()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L98", + "_origin": "ast", + "id": "listeners_webhooklistener_onmessagephonesent", + "community": 74, + "norm_label": ".onmessagephonesent()" + }, + { + "label": ".OnMessagePhoneDelivered()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L115", + "_origin": "ast", + "id": "listeners_webhooklistener_onmessagephonedelivered", + "community": 74, + "norm_label": ".onmessagephonedelivered()" + }, + { + "label": ".onPhoneHeartbeatOffline()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L132", + "_origin": "ast", + "id": "listeners_webhooklistener_onphoneheartbeatoffline", + "community": 74, + "norm_label": ".onphoneheartbeatoffline()" + }, + { + "label": ".onPhoneHeartbeatOnline()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L149", + "_origin": "ast", + "id": "listeners_webhooklistener_onphoneheartbeatonline", + "community": 74, + "norm_label": ".onphoneheartbeatonline()" + }, + { + "label": ".onMessageCallMissed()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L166", + "_origin": "ast", + "id": "listeners_webhooklistener_onmessagecallmissed", + "community": 74, + "norm_label": ".onmessagecallmissed()" + }, + { + "label": ".onUserAccountDeleted()", + "file_type": "code", + "source_file": "api/pkg/listeners/webhook_listener.go", + "source_location": "L182", + "_origin": "ast", + "id": "listeners_webhooklistener_onuseraccountdeleted", + "community": 74, + "norm_label": ".onuseraccountdeleted()" + }, + { + "label": "websocket_listener.go", + "file_type": "code", + "source_file": "api/pkg/listeners/websocket_listener.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_websocket_listener_go", + "community": 149, + "norm_label": "websocket_listener.go" + }, + { + "label": "WebsocketListener", + "file_type": "code", + "source_file": "api/pkg/listeners/websocket_listener.go", + "source_location": "L16", + "_origin": "ast", + "id": "listeners_websocketlistener", + "community": 149, + "norm_label": "websocketlistener" + }, + { + "label": "NewWebsocketListener()", + "file_type": "code", + "source_file": "api/pkg/listeners/websocket_listener.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_websocket_listener_newwebsocketlistener", + "community": 149, + "norm_label": "newwebsocketlistener()" + }, + { + "label": ".onMessagePhoneSent()", + "file_type": "code", + "source_file": "api/pkg/listeners/websocket_listener.go", + "source_location": "L43", + "_origin": "ast", + "id": "listeners_websocketlistener_onmessagephonesent", + "community": 149, + "norm_label": ".onmessagephonesent()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_websocket_listener_go_context", + "community": 542, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_listeners_websocket_listener_go_event", + "community": 543, + "norm_label": "event" + }, + { + "label": ".onMessagePhoneReceived()", + "file_type": "code", + "source_file": "api/pkg/listeners/websocket_listener.go", + "source_location": "L60", + "_origin": "ast", + "id": "listeners_websocketlistener_onmessagephonereceived", + "community": 149, + "norm_label": ".onmessagephonereceived()" + }, + { + "label": ".onMessagePhoneFailed()", + "file_type": "code", + "source_file": "api/pkg/listeners/websocket_listener.go", + "source_location": "L77", + "_origin": "ast", + "id": "listeners_websocketlistener_onmessagephonefailed", + "community": 149, + "norm_label": ".onmessagephonefailed()" + }, + { + "label": ".onPhoneUpdated()", + "file_type": "code", + "source_file": "api/pkg/listeners/websocket_listener.go", + "source_location": "L94", + "_origin": "ast", + "id": "listeners_websocketlistener_onphoneupdated", + "community": 149, + "norm_label": ".onphoneupdated()" + }, + { + "label": "api_key_auth_middleware.go", + "file_type": "code", + "source_file": "api/pkg/middlewares/api_key_auth_middleware.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_middlewares_api_key_auth_middleware", + "community": 65, + "norm_label": "api_key_auth_middleware.go" + }, + { + "label": "APIKeyAuth()", + "file_type": "code", + "source_file": "api/pkg/middlewares/api_key_auth_middleware.go", + "source_location": "L14", + "_origin": "ast", + "id": "api_pkg_middlewares_api_key_auth_middleware_apikeyauth", + "community": 65, + "norm_label": "apikeyauth()" + }, + { + "label": "Handler", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_middlewares_api_key_auth_middleware_go_handler", + "community": 65, + "norm_label": "handler" + }, + { + "label": "getAPIKeyFromRequest()", + "file_type": "code", + "source_file": "api/pkg/middlewares/api_key_auth_middleware.go", + "source_location": "L40", + "_origin": "ast", + "id": "api_pkg_middlewares_api_key_auth_middleware_getapikeyfromrequest", + "community": 65, + "norm_label": "getapikeyfromrequest()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_middlewares_api_key_auth_middleware_go_ctx", + "community": 65, + "norm_label": "ctx" + }, + { + "label": "authenticated_middlesare.go", + "file_type": "code", + "source_file": "api/pkg/middlewares/authenticated_middlesare.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_middlewares_authenticated_middlesare_go", + "community": 1, + "norm_label": "authenticated_middlesare.go" + }, + { + "label": "Authenticated()", + "file_type": "code", + "source_file": "api/pkg/middlewares/authenticated_middlesare.go", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_middlewares_authenticated_middlesare_authenticated", + "community": 1, + "norm_label": "authenticated()" + }, + { + "label": "Handler", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_middlewares_authenticated_middlesare_go_handler", + "community": 544, + "norm_label": "handler" + }, + { + "label": "bearer_api_key_auth_middleware.go", + "file_type": "code", + "source_file": "api/pkg/middlewares/bearer_api_key_auth_middleware.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_middlewares_bearer_api_key_auth_middleware", + "community": 65, + "norm_label": "bearer_api_key_auth_middleware.go" + }, + { + "label": "BearerAPIKeyAuth()", + "file_type": "code", + "source_file": "api/pkg/middlewares/bearer_api_key_auth_middleware.go", + "source_location": "L14", + "_origin": "ast", + "id": "api_pkg_middlewares_bearer_api_key_auth_middleware_bearerapikeyauth", + "community": 65, + "norm_label": "bearerapikeyauth()" + }, + { + "label": "Handler", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_middlewares_bearer_api_key_auth_middleware_go_handler", + "community": 65, + "norm_label": "handler" + }, + { + "label": "bearer_auth_middleware.go", + "file_type": "code", + "source_file": "api/pkg/middlewares/bearer_auth_middleware.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_middlewares_bearer_auth_middleware", + "community": 37, + "norm_label": "bearer_auth_middleware.go" + }, + { + "label": "BearerAuth()", + "file_type": "code", + "source_file": "api/pkg/middlewares/bearer_auth_middleware.go", + "source_location": "L18", + "_origin": "ast", + "id": "api_pkg_middlewares_bearer_auth_middleware_bearerauth", + "community": 37, + "norm_label": "bearerauth()" + }, + { + "label": "Handler", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_middlewares_bearer_auth_middleware_go_handler", + "community": 37, + "norm_label": "handler" + }, + { + "label": "http_request_logger_middleware.go", + "file_type": "code", + "source_file": "api/pkg/middlewares/http_request_logger_middleware.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_middlewares_http_request_logger_middleware", + "community": 14, + "norm_label": "http_request_logger_middleware.go" + }, + { + "label": "HTTPRequestLogger()", + "file_type": "code", + "source_file": "api/pkg/middlewares/http_request_logger_middleware.go", + "source_location": "L18", + "_origin": "ast", + "id": "api_pkg_middlewares_http_request_logger_middleware_httprequestlogger", + "community": 14, + "norm_label": "httprequestlogger()" + }, + { + "label": "Handler", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_middlewares_http_request_logger_middleware_go_handler", + "community": 14, + "norm_label": "handler" + }, + { + "label": "isSensitiveRequestPath()", + "file_type": "code", + "source_file": "api/pkg/middlewares/http_request_logger_middleware.go", + "source_location": "L35", + "_origin": "ast", + "id": "api_pkg_middlewares_http_request_logger_middleware_issensitiverequestpath", + "community": 14, + "norm_label": "issensitiverequestpath()" + }, + { + "label": "phone_api_key_auth_middleware.go", + "file_type": "code", + "source_file": "api/pkg/middlewares/phone_api_key_auth_middleware.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_middlewares_phone_api_key_auth_middleware", + "community": 36, + "norm_label": "phone_api_key_auth_middleware.go" + }, + { + "label": "PhoneAPIKeyAuth()", + "file_type": "code", + "source_file": "api/pkg/middlewares/phone_api_key_auth_middleware.go", + "source_location": "L14", + "_origin": "ast", + "id": "api_pkg_middlewares_phone_api_key_auth_middleware_phoneapikeyauth", + "community": 36, + "norm_label": "phoneapikeyauth()" + }, + { + "label": "Handler", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_middlewares_phone_api_key_auth_middleware_go_handler", + "community": 36, + "norm_label": "handler" + }, + { + "label": "attachment_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_go", + "community": 72, + "norm_label": "attachment_repository.go" + }, + { + "label": "AttachmentRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository.go", + "source_location": "L11", + "_origin": "ast", + "id": "repositories_attachmentrepository", + "community": 1, + "norm_label": "attachmentrepository" + }, + { + "label": "AllowedContentTypes()", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository.go", + "source_location": "L54", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_allowedcontenttypes", + "community": 72, + "norm_label": "allowedcontenttypes()" + }, + { + "label": "ExtensionFromContentType()", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository.go", + "source_location": "L64", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_extensionfromcontenttype", + "community": 72, + "norm_label": "extensionfromcontenttype()" + }, + { + "label": "ContentTypeFromExtension()", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository.go", + "source_location": "L73", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_contenttypefromextension", + "community": 72, + "norm_label": "contenttypefromextension()" + }, + { + "label": "SanitizeFilename()", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository.go", + "source_location": "L82", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_sanitizefilename", + "community": 72, + "norm_label": "sanitizefilename()" + }, + { + "label": "attachment_repository_test.go", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_test_go", + "community": 72, + "norm_label": "attachment_repository_test.go" + }, + { + "label": "TestExtensionFromContentType()", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository_test.go", + "source_location": "L5", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_test_testextensionfromcontenttype", + "community": 72, + "norm_label": "testextensionfromcontenttype()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_test_go_t", + "community": 545, + "norm_label": "t" + }, + { + "label": "TestSanitizeFilename()", + "file_type": "code", + "source_file": "api/pkg/repositories/attachment_repository_test.go", + "source_location": "L37", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_attachment_repository_test_testsanitizefilename", + "community": 72, + "norm_label": "testsanitizefilename()" + }, + { + "label": "billing_usage_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/billing_usage_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_billing_usage_repository_go", + "community": 65, + "norm_label": "billing_usage_repository.go" + }, + { + "label": "BillingUsageRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/billing_usage_repository.go", + "source_location": "L11", + "_origin": "ast", + "id": "repositories_billingusagerepository", + "community": 65, + "norm_label": "billingusagerepository" + }, + { + "label": "billing_usage_repository_test.go", + "file_type": "code", + "source_file": "api/pkg/repositories/billing_usage_repository_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_billing_usage_repository_test_go", + "community": 46, + "norm_label": "billing_usage_repository_test.go" + }, + { + "label": "TestComputeBillingCycle()", + "file_type": "code", + "source_file": "api/pkg/repositories/billing_usage_repository_test.go", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_billing_usage_repository_test_testcomputebillingcycle", + "community": 46, + "norm_label": "testcomputebillingcycle()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_billing_usage_repository_test_go_t", + "community": 546, + "norm_label": "t" + }, + { + "label": "TestDaysInMonth()", + "file_type": "code", + "source_file": "api/pkg/repositories/billing_usage_repository_test.go", + "source_location": "L92", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_billing_usage_repository_test_testdaysinmonth", + "community": 46, + "norm_label": "testdaysinmonth()" + }, + { + "label": "discord_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/discord_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_discord_repository_go", + "community": 156, + "norm_label": "discord_repository.go" + }, + { + "label": "DiscordRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/discord_repository.go", + "source_location": "L12", + "_origin": "ast", + "id": "repositories_discordrepository", + "community": 156, + "norm_label": "discordrepository" + }, + { + "label": "google_cloud_storage_attachment_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/google_cloud_storage_attachment_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_google_cloud_storage_attachment_repository_go", + "community": 145, + "norm_label": "google_cloud_storage_attachment_repository.go" + }, + { + "label": "GoogleCloudStorageAttachmentRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/google_cloud_storage_attachment_repository.go", + "source_location": "L15", + "_origin": "ast", + "id": "repositories_googlecloudstorageattachmentrepository", + "community": 145, + "norm_label": "googlecloudstorageattachmentrepository" + }, + { + "label": "NewGoogleCloudStorageAttachmentRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/google_cloud_storage_attachment_repository.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_google_cloud_storage_attachment_repository_newgooglecloudstorageattachmentrepository", + "community": 145, + "norm_label": "newgooglecloudstorageattachmentrepository()" + }, + { + "label": ".Upload()", + "file_type": "code", + "source_file": "api/pkg/repositories/google_cloud_storage_attachment_repository.go", + "source_location": "L38", + "_origin": "ast", + "id": "repositories_googlecloudstorageattachmentrepository_upload", + "community": 145, + "norm_label": ".upload()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_google_cloud_storage_attachment_repository_go_context", + "community": 547, + "norm_label": "context" + }, + { + "label": ".Download()", + "file_type": "code", + "source_file": "api/pkg/repositories/google_cloud_storage_attachment_repository.go", + "source_location": "L58", + "_origin": "ast", + "id": "repositories_googlecloudstorageattachmentrepository_download", + "community": 145, + "norm_label": ".download()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/google_cloud_storage_attachment_repository.go", + "source_location": "L81", + "_origin": "ast", + "id": "repositories_googlecloudstorageattachmentrepository_delete", + "community": 145, + "norm_label": ".delete()" + }, + { + "label": "gorm_billing_usage_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_billing_usage_repository_go", + "community": 46, + "norm_label": "gorm_billing_usage_repository.go" + }, + { + "label": "gormBillingUsageRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L18", + "_origin": "ast", + "id": "repositories_gormbillingusagerepository", + "community": 46, + "norm_label": "gormbillingusagerepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_billing_usage_repository_go_db", + "community": 549, + "norm_label": "db" + }, + { + "label": "NewGormBillingUsageRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_billing_usage_repository_newgormbillingusagerepository", + "community": 46, + "norm_label": "newgormbillingusagerepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L38", + "_origin": "ast", + "id": "repositories_gormbillingusagerepository_deleteallforuser", + "community": 46, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_billing_usage_repository_go_context", + "community": 548, + "norm_label": "context" + }, + { + "label": ".RegisterSentMessage()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L50", + "_origin": "ast", + "id": "repositories_gormbillingusagerepository_registersentmessage", + "community": 46, + "norm_label": ".registersentmessage()" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_billing_usage_repository_go_time", + "community": 550, + "norm_label": "time" + }, + { + "label": ".RegisterReceivedMessage()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L77", + "_origin": "ast", + "id": "repositories_gormbillingusagerepository_registerreceivedmessage", + "community": 46, + "norm_label": ".registerreceivedmessage()" + }, + { + "label": ".GetCurrent()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L104", + "_origin": "ast", + "id": "repositories_gormbillingusagerepository_getcurrent", + "community": 46, + "norm_label": ".getcurrent()" + }, + { + "label": ".GetHistory()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L143", + "_origin": "ast", + "id": "repositories_gormbillingusagerepository_gethistory", + "community": 46, + "norm_label": ".gethistory()" + }, + { + "label": ".createBillingUsageForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L167", + "_origin": "ast", + "id": "repositories_gormbillingusagerepository_createbillingusageforuser", + "community": 46, + "norm_label": ".createbillingusageforuser()" + }, + { + "label": "computeBillingCycle()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L188", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_billing_usage_repository_computebillingcycle", + "community": 46, + "norm_label": "computebillingcycle()" + }, + { + "label": "daysInMonth()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_billing_usage_repository.go", + "source_location": "L215", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_billing_usage_repository_daysinmonth", + "community": 46, + "norm_label": "daysinmonth()" + }, + { + "label": "Month", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "month", + "community": 46, + "norm_label": "month" + }, + { + "label": "gorm_discord_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_discord_repository_go", + "community": 102, + "norm_label": "gorm_discord_repository.go" + }, + { + "label": "gormDiscordRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L16", + "_origin": "ast", + "id": "repositories_gormdiscordrepository", + "community": 102, + "norm_label": "gormdiscordrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_discord_repository_go_db", + "community": 552, + "norm_label": "db" + }, + { + "label": "NewGormDiscordRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_discord_repository_newgormdiscordrepository", + "community": 102, + "norm_label": "newgormdiscordrepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L35", + "_origin": "ast", + "id": "repositories_gormdiscordrepository_deleteallforuser", + "community": 102, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_discord_repository_go_context", + "community": 551, + "norm_label": "context" + }, + { + "label": ".Save()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L46", + "_origin": "ast", + "id": "repositories_gormdiscordrepository_save", + "community": 102, + "norm_label": ".save()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L58", + "_origin": "ast", + "id": "repositories_gormdiscordrepository_index", + "community": 102, + "norm_label": ".index()" + }, + { + "label": ".FetchHavingIncomingChannel()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L76", + "_origin": "ast", + "id": "repositories_gormdiscordrepository_fetchhavingincomingchannel", + "community": 102, + "norm_label": ".fetchhavingincomingchannel()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L94", + "_origin": "ast", + "id": "repositories_gormdiscordrepository_load", + "community": 102, + "norm_label": ".load()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_discord_repository_go_uuid", + "community": 553, + "norm_label": "uuid" + }, + { + "label": ".FindByServerID()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L111", + "_origin": "ast", + "id": "repositories_gormdiscordrepository_findbyserverid", + "community": 102, + "norm_label": ".findbyserverid()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_discord_repository.go", + "source_location": "L128", + "_origin": "ast", + "id": "repositories_gormdiscordrepository_delete", + "community": 102, + "norm_label": ".delete()" + }, + { + "label": "gorm_heartbeat_monitor_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_monitor_repository_go", + "community": 89, + "norm_label": "gorm_heartbeat_monitor_repository.go" + }, + { + "label": "gormHeartbeatMonitorRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L19", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository", + "community": 89, + "norm_label": "gormheartbeatmonitorrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_monitor_repository_go_db", + "community": 555, + "norm_label": "db" + }, + { + "label": "NewGormHeartbeatMonitorRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_monitor_repository_newgormheartbeatmonitorrepository", + "community": 89, + "norm_label": "newgormheartbeatmonitorrepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L38", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_deleteallforuser", + "community": 89, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_monitor_repository_go_context", + "community": 554, + "norm_label": "context" + }, + { + "label": ".UpdatePhoneOnline()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L49", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_updatephoneonline", + "community": 89, + "norm_label": ".updatephoneonline()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_monitor_repository_go_uuid", + "community": 556, + "norm_label": "uuid" + }, + { + "label": ".UpdateQueueID()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L71", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_updatequeueid", + "community": 89, + "norm_label": ".updatequeueid()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L91", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_delete", + "community": 89, + "norm_label": ".delete()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L110", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_index", + "community": 89, + "norm_label": ".index()" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L127", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_store", + "community": 89, + "norm_label": ".store()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L142", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_load", + "community": 89, + "norm_label": ".load()" + }, + { + "label": ".Exists()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_monitor_repository.go", + "source_location": "L166", + "_origin": "ast", + "id": "repositories_gormheartbeatmonitorrepository_exists", + "community": 89, + "norm_label": ".exists()" + }, + { + "label": "gorm_heartbeat_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_repository_go", + "community": 59, + "norm_label": "gorm_heartbeat_repository.go" + }, + { + "label": "gormHeartbeatRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_repository.go", + "source_location": "L16", + "_origin": "ast", + "id": "repositories_gormheartbeatrepository", + "community": 59, + "norm_label": "gormheartbeatrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_repository_go_db", + "community": 558, + "norm_label": "db" + }, + { + "label": "NewGormHeartbeatRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_repository.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_repository_newgormheartbeatrepository", + "community": 59, + "norm_label": "newgormheartbeatrepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_repository.go", + "source_location": "L35", + "_origin": "ast", + "id": "repositories_gormheartbeatrepository_deleteallforuser", + "community": 59, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_heartbeat_repository_go_context", + "community": 557, + "norm_label": "context" + }, + { + "label": ".Last()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_repository.go", + "source_location": "L47", + "_origin": "ast", + "id": "repositories_gormheartbeatrepository_last", + "community": 59, + "norm_label": ".last()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_repository.go", + "source_location": "L72", + "_origin": "ast", + "id": "repositories_gormheartbeatrepository_index", + "community": 59, + "norm_label": ".index()" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_heartbeat_repository.go", + "source_location": "L95", + "_origin": "ast", + "id": "repositories_gormheartbeatrepository_store", + "community": 59, + "norm_label": ".store()" + }, + { + "label": "gorm_integration_3cx_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_integration_3cx_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_integration_3cx_repository_go", + "community": 150, + "norm_label": "gorm_integration_3cx_repository.go" + }, + { + "label": "gormIntegration3CxRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_integration_3cx_repository.go", + "source_location": "L15", + "_origin": "ast", + "id": "repositories_gormintegration3cxrepository", + "community": 150, + "norm_label": "gormintegration3cxrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_integration_3cx_repository_go_db", + "community": 560, + "norm_label": "db" + }, + { + "label": "NewGormIntegration3CXRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_integration_3cx_repository.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_integration_3cx_repository_newgormintegration3cxrepository", + "community": 150, + "norm_label": "newgormintegration3cxrepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_integration_3cx_repository.go", + "source_location": "L34", + "_origin": "ast", + "id": "repositories_gormintegration3cxrepository_deleteallforuser", + "community": 150, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_integration_3cx_repository_go_context", + "community": 559, + "norm_label": "context" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_integration_3cx_repository.go", + "source_location": "L46", + "_origin": "ast", + "id": "repositories_gormintegration3cxrepository_load", + "community": 150, + "norm_label": ".load()" + }, + { + "label": ".Save()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_integration_3cx_repository.go", + "source_location": "L64", + "_origin": "ast", + "id": "repositories_gormintegration3cxrepository_save", + "community": 150, + "norm_label": ".save()" + }, + { + "label": "gorm_message_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_repository_go", + "community": 29, + "norm_label": "gorm_message_repository.go" + }, + { + "label": "gormMessageRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L19", + "_origin": "ast", + "id": "repositories_gormmessagerepository", + "community": 29, + "norm_label": "gormmessagerepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_repository_go_db", + "community": 563, + "norm_label": "db" + }, + { + "label": "NewGormMessageRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_repository_newgormmessagerepository", + "community": 29, + "norm_label": "newgormmessagerepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L38", + "_origin": "ast", + "id": "repositories_gormmessagerepository_deleteallforuser", + "community": 29, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_repository_go_context", + "community": 562, + "norm_label": "context" + }, + { + "label": ".DeleteByOwnerAndContact()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L50", + "_origin": "ast", + "id": "repositories_gormmessagerepository_deletebyownerandcontact", + "community": 29, + "norm_label": ".deletebyownerandcontact()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L68", + "_origin": "ast", + "id": "repositories_gormmessagerepository_delete", + "community": 29, + "norm_label": ".delete()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_repository_go_uuid", + "community": 565, + "norm_label": "uuid" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L81", + "_origin": "ast", + "id": "repositories_gormmessagerepository_index", + "community": 29, + "norm_label": ".index()" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_repository_go_message", + "community": 564, + "norm_label": "message" + }, + { + "label": ".LastMessage()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L103", + "_origin": "ast", + "id": "repositories_gormmessagerepository_lastmessage", + "community": 29, + "norm_label": ".lastmessage()" + }, + { + "label": ".Search()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L127", + "_origin": "ast", + "id": "repositories_gormmessagerepository_search", + "community": 29, + "norm_label": ".search()" + }, + { + "label": ".GetBulkMessages()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L173", + "_origin": "ast", + "id": "repositories_gormmessagerepository_getbulkmessages", + "community": 29, + "norm_label": ".getbulkmessages()" + }, + { + "label": "BulkMessage", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_repository_go_bulkmessage", + "community": 561, + "norm_label": "bulkmessage" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L203", + "_origin": "ast", + "id": "repositories_gormmessagerepository_store", + "community": 29, + "norm_label": ".store()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L215", + "_origin": "ast", + "id": "repositories_gormmessagerepository_load", + "community": 29, + "norm_label": ".load()" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L233", + "_origin": "ast", + "id": "repositories_gormmessagerepository_update", + "community": 29, + "norm_label": ".update()" + }, + { + "label": ".GetOutstanding()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L245", + "_origin": "ast", + "id": "repositories_gormmessagerepository_getoutstanding", + "community": 29, + "norm_label": ".getoutstanding()" + }, + { + "label": ".order()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_repository.go", + "source_location": "L281", + "_origin": "ast", + "id": "repositories_gormmessagerepository_order", + "community": 29, + "norm_label": ".order()" + }, + { + "label": "gorm_message_send_schedule_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_send_schedule_repository_go", + "community": 109, + "norm_label": "gorm_message_send_schedule_repository.go" + }, + { + "label": "gormMessageSendScheduleRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L16", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository", + "community": 109, + "norm_label": "gormmessagesendschedulerepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_send_schedule_repository_go_db", + "community": 567, + "norm_label": "db" + }, + { + "label": "NewGormMessageSendScheduleRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_send_schedule_repository_newgormmessagesendschedulerepository", + "community": 109, + "norm_label": "newgormmessagesendschedulerepository()" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L36", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository_store", + "community": 109, + "norm_label": ".store()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_send_schedule_repository_go_context", + "community": 566, + "norm_label": "context" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L51", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository_update", + "community": 109, + "norm_label": ".update()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L66", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository_load", + "community": 109, + "norm_label": ".load()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_send_schedule_repository_go_uuid", + "community": 568, + "norm_label": "uuid" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L93", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository_index", + "community": 109, + "norm_label": ".index()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L113", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository_delete", + "community": 109, + "norm_label": ".delete()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L133", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository_deleteallforuser", + "community": 109, + "norm_label": ".deleteallforuser()" + }, + { + "label": ".CountByUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_send_schedule_repository.go", + "source_location": "L151", + "_origin": "ast", + "id": "repositories_gormmessagesendschedulerepository_countbyuser", + "community": 109, + "norm_label": ".countbyuser()" + }, + { + "label": "gorm_message_thread_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_thread_repository_go", + "community": 80, + "norm_label": "gorm_message_thread_repository.go" + }, + { + "label": "gormMessageThreadRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L19", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository", + "community": 80, + "norm_label": "gormmessagethreadrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_thread_repository_go_db", + "community": 570, + "norm_label": "db" + }, + { + "label": "NewGormMessageThreadRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_thread_repository_newgormmessagethreadrepository", + "community": 80, + "norm_label": "newgormmessagethreadrepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L38", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_deleteallforuser", + "community": 80, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_thread_repository_go_context", + "community": 569, + "norm_label": "context" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L50", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_delete", + "community": 80, + "norm_label": ".delete()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_message_thread_repository_go_uuid", + "community": 571, + "norm_label": "uuid" + }, + { + "label": ".UpdateAfterDeletedMessage()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L63", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_updateafterdeletedmessage", + "community": 80, + "norm_label": ".updateafterdeletedmessage()" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L83", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_store", + "community": 80, + "norm_label": ".store()" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L95", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_update", + "community": 80, + "norm_label": ".update()" + }, + { + "label": ".LoadByOwnerContact()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L107", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_loadbyownercontact", + "community": 80, + "norm_label": ".loadbyownercontact()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L132", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_load", + "community": 80, + "norm_label": ".load()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_message_thread_repository.go", + "source_location": "L156", + "_origin": "ast", + "id": "repositories_gormmessagethreadrepository_index", + "community": 80, + "norm_label": ".index()" + }, + { + "label": "gorm_phone_api_key_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_phone_api_key_repository", + "community": 67, + "norm_label": "gorm_phone_api_key_repository.go" + }, + { + "label": "gormPhoneAPIKeyRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L20", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository", + "community": 67, + "norm_label": "gormphoneapikeyrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_phone_api_key_repository_go_db", + "community": 67, + "norm_label": "db" + }, + { + "label": "NewGormPhoneAPIKeyRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L28", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_phone_api_key_repository_newgormphoneapikeyrepository", + "community": 36, + "norm_label": "newgormphoneapikeyrepository()" + }, + { + "label": ".RemovePhoneByID()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L42", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_removephonebyid", + "community": 67, + "norm_label": ".removephonebyid()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_phone_api_key_repository_go_context", + "community": 67, + "norm_label": "context" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_phone_api_key_repository_go_uuid", + "community": 67, + "norm_label": "uuid" + }, + { + "label": ".CountByUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L64", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_countbyuser", + "community": 67, + "norm_label": ".countbyuser()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L81", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_load", + "community": 67, + "norm_label": ".load()" + }, + { + "label": ".Create()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L98", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_create", + "community": 67, + "norm_label": ".create()" + }, + { + "label": ".LoadAuthContext()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L109", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_loadauthcontext", + "community": 184, + "norm_label": ".loadauthcontext()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L141", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_index", + "community": 67, + "norm_label": ".index()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L159", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_delete", + "community": 67, + "norm_label": ".delete()" + }, + { + "label": ".AddPhone()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L172", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_addphone", + "community": 67, + "norm_label": ".addphone()" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_phone_api_key_repository_go_phone", + "community": 67, + "norm_label": "phone" + }, + { + "label": ".RemovePhone()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L212", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_removephone", + "community": 67, + "norm_label": ".removephone()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_api_key_repository.go", + "source_location": "L232", + "_origin": "ast", + "id": "repositories_gormphoneapikeyrepository_deleteallforuser", + "community": 67, + "norm_label": ".deleteallforuser()" + }, + { + "label": "gorm_phone_notification_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_notification_repository_go", + "community": 99, + "norm_label": "gorm_phone_notification_repository.go" + }, + { + "label": "gormPhoneNotificationRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L19", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository", + "community": 99, + "norm_label": "gormphonenotificationrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_notification_repository_go_db", + "community": 573, + "norm_label": "db" + }, + { + "label": "NewGormPhoneNotificationRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_notification_repository_newgormphonenotificationrepository", + "community": 99, + "norm_label": "newgormphonenotificationrepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L39", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_deleteallforuser", + "community": 99, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_notification_repository_go_context", + "community": 572, + "norm_label": "context" + }, + { + "label": ".DeleteByMessageID()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L64", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_deletebymessageid", + "community": 99, + "norm_label": ".deletebymessageid()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_notification_repository_go_uuid", + "community": 575, + "norm_label": "uuid" + }, + { + "label": ".UpdateStatus()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L82", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_updatestatus", + "community": 99, + "norm_label": ".updatestatus()" + }, + { + "label": ".Schedule()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L110", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_schedule", + "community": 99, + "norm_label": ".schedule()" + }, + { + "label": ".resolveScheduledAt()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L180", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_resolvescheduledat", + "community": 99, + "norm_label": ".resolvescheduledat()" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_notification_repository_go_time", + "community": 574, + "norm_label": "time" + }, + { + "label": ".maxTime()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L192", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_maxtime", + "community": 99, + "norm_label": ".maxtime()" + }, + { + "label": ".insert()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L200", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_insert", + "community": 99, + "norm_label": ".insert()" + }, + { + "label": ".ScheduleExact()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_notification_repository.go", + "source_location": "L223", + "_origin": "ast", + "id": "repositories_gormphonenotificationrepository_scheduleexact", + "community": 99, + "norm_label": ".scheduleexact()" + }, + { + "label": "gorm_phone_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_repository_go", + "community": 82, + "norm_label": "gorm_phone_repository.go" + }, + { + "label": "gormPhoneRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L18", + "_origin": "ast", + "id": "repositories_gormphonerepository", + "community": 82, + "norm_label": "gormphonerepository" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_repository_go_phone", + "community": 578, + "norm_label": "phone" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_repository_go_db", + "community": 577, + "norm_label": "db" + }, + { + "label": "NewGormPhoneRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_repository_newgormphonerepository", + "community": 82, + "norm_label": "newgormphonerepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L40", + "_origin": "ast", + "id": "repositories_gormphonerepository_deleteallforuser", + "community": 82, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_repository_go_context", + "community": 576, + "norm_label": "context" + }, + { + "label": ".NullifyScheduleID()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L53", + "_origin": "ast", + "id": "repositories_gormphonerepository_nullifyscheduleid", + "community": 82, + "norm_label": ".nullifyscheduleid()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_phone_repository_go_uuid", + "community": 579, + "norm_label": "uuid" + }, + { + "label": ".LoadByID()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L71", + "_origin": "ast", + "id": "repositories_gormphonerepository_loadbyid", + "community": 82, + "norm_label": ".loadbyid()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L92", + "_origin": "ast", + "id": "repositories_gormphonerepository_delete", + "community": 82, + "norm_label": ".delete()" + }, + { + "label": ".Save()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L109", + "_origin": "ast", + "id": "repositories_gormphonerepository_save", + "community": 82, + "norm_label": ".save()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L133", + "_origin": "ast", + "id": "repositories_gormphonerepository_load", + "community": 82, + "norm_label": ".load()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L158", + "_origin": "ast", + "id": "repositories_gormphonerepository_index", + "community": 82, + "norm_label": ".index()" + }, + { + "label": ".getCacheKey()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_phone_repository.go", + "source_location": "L176", + "_origin": "ast", + "id": "repositories_gormphonerepository_getcachekey", + "community": 82, + "norm_label": ".getcachekey()" + }, + { + "label": "gorm_user_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_user_repository", + "community": 26, + "norm_label": "gorm_user_repository.go" + }, + { + "label": "gormUserRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L23", + "_origin": "ast", + "id": "repositories_gormuserrepository", + "community": 26, + "norm_label": "gormuserrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_user_repository_go_db", + "community": 26, + "norm_label": "db" + }, + { + "label": "NewGormUserRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L31", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_user_repository_newgormuserrepository", + "community": 65, + "norm_label": "newgormuserrepository()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L46", + "_origin": "ast", + "id": "repositories_gormuserrepository_delete", + "community": 26, + "norm_label": ".delete()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_repositories_gorm_user_repository_go_context", + "community": 26, + "norm_label": "context" + }, + { + "label": ".RotateAPIKey()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L57", + "_origin": "ast", + "id": "repositories_gormuserrepository_rotateapikey", + "community": 26, + "norm_label": ".rotateapikey()" + }, + { + "label": ".LoadBySubscriptionID()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L95", + "_origin": "ast", + "id": "repositories_gormuserrepository_loadbysubscriptionid", + "community": 26, + "norm_label": ".loadbysubscriptionid()" + }, + { + "label": ".LoadByEmail()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L115", + "_origin": "ast", + "id": "repositories_gormuserrepository_loadbyemail", + "community": 26, + "norm_label": ".loadbyemail()" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L135", + "_origin": "ast", + "id": "repositories_gormuserrepository_store", + "community": 26, + "norm_label": ".store()" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L146", + "_origin": "ast", + "id": "repositories_gormuserrepository_update", + "community": 26, + "norm_label": ".update()" + }, + { + "label": ".LoadAuthContext()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L157", + "_origin": "ast", + "id": "repositories_gormuserrepository_loadauthcontext", + "community": 184, + "norm_label": ".loadauthcontext()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L192", + "_origin": "ast", + "id": "repositories_gormuserrepository_load", + "community": 26, + "norm_label": ".load()" + }, + { + "label": ".LoadOrStore()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L209", + "_origin": "ast", + "id": "repositories_gormuserrepository_loadorstore", + "community": 26, + "norm_label": ".loadorstore()" + }, + { + "label": ".generateRandomBytes()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L254", + "_origin": "ast", + "id": "repositories_gormuserrepository_generaterandombytes", + "community": 26, + "norm_label": ".generaterandombytes()" + }, + { + "label": ".generateAPIKey()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_user_repository.go", + "source_location": "L269", + "_origin": "ast", + "id": "repositories_gormuserrepository_generateapikey", + "community": 26, + "norm_label": ".generateapikey()" + }, + { + "label": "gorm_webhook_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_webhook_repository_go", + "community": 106, + "norm_label": "gorm_webhook_repository.go" + }, + { + "label": "gormWebhookRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L16", + "_origin": "ast", + "id": "repositories_gormwebhookrepository", + "community": 106, + "norm_label": "gormwebhookrepository" + }, + { + "label": "DB", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_webhook_repository_go_db", + "community": 581, + "norm_label": "db" + }, + { + "label": "NewGormWebhookRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_webhook_repository_newgormwebhookrepository", + "community": 106, + "norm_label": "newgormwebhookrepository()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L35", + "_origin": "ast", + "id": "repositories_gormwebhookrepository_deleteallforuser", + "community": 106, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_webhook_repository_go_context", + "community": 580, + "norm_label": "context" + }, + { + "label": ".Save()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L46", + "_origin": "ast", + "id": "repositories_gormwebhookrepository_save", + "community": 106, + "norm_label": ".save()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L58", + "_origin": "ast", + "id": "repositories_gormwebhookrepository_index", + "community": 106, + "norm_label": ".index()" + }, + { + "label": ".LoadByEvent()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L76", + "_origin": "ast", + "id": "repositories_gormwebhookrepository_loadbyevent", + "community": 106, + "norm_label": ".loadbyevent()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L92", + "_origin": "ast", + "id": "repositories_gormwebhookrepository_load", + "community": 106, + "norm_label": ".load()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_gorm_webhook_repository_go_uuid", + "community": 582, + "norm_label": "uuid" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/gorm_webhook_repository.go", + "source_location": "L109", + "_origin": "ast", + "id": "repositories_gormwebhookrepository_delete", + "community": 106, + "norm_label": ".delete()" + }, + { + "label": "heartbeat_monitor_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/heartbeat_monitor_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_heartbeat_monitor_repository_go", + "community": 21, + "norm_label": "heartbeat_monitor_repository.go" + }, + { + "label": "HeartbeatMonitorRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/heartbeat_monitor_repository.go", + "source_location": "L12", + "_origin": "ast", + "id": "repositories_heartbeatmonitorrepository", + "community": 21, + "norm_label": "heartbeatmonitorrepository" + }, + { + "label": "heartbeat_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/heartbeat_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_heartbeat_repository_go", + "community": 21, + "norm_label": "heartbeat_repository.go" + }, + { + "label": "HeartbeatRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/heartbeat_repository.go", + "source_location": "L10", + "_origin": "ast", + "id": "repositories_heartbeatrepository", + "community": 21, + "norm_label": "heartbeatrepository" + }, + { + "label": "integration_3cx_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/integration_3cx_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_integration_3cx_repository_go", + "community": 156, + "norm_label": "integration_3cx_repository.go" + }, + { + "label": "Integration3CxRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/integration_3cx_repository.go", + "source_location": "L10", + "_origin": "ast", + "id": "repositories_integration3cxrepository", + "community": 156, + "norm_label": "integration3cxrepository" + }, + { + "label": "memory_attachment_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/memory_attachment_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_memory_attachment_repository_go", + "community": 126, + "norm_label": "memory_attachment_repository.go" + }, + { + "label": "MemoryAttachmentRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/memory_attachment_repository.go", + "source_location": "L13", + "_origin": "ast", + "id": "repositories_memoryattachmentrepository", + "community": 126, + "norm_label": "memoryattachmentrepository" + }, + { + "label": "Map", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_memory_attachment_repository_go_map", + "community": 584, + "norm_label": "map" + }, + { + "label": "NewMemoryAttachmentRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/memory_attachment_repository.go", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_memory_attachment_repository_newmemoryattachmentrepository", + "community": 126, + "norm_label": "newmemoryattachmentrepository()" + }, + { + "label": ".Upload()", + "file_type": "code", + "source_file": "api/pkg/repositories/memory_attachment_repository.go", + "source_location": "L31", + "_origin": "ast", + "id": "repositories_memoryattachmentrepository_upload", + "community": 126, + "norm_label": ".upload()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_memory_attachment_repository_go_context", + "community": 583, + "norm_label": "context" + }, + { + "label": ".Download()", + "file_type": "code", + "source_file": "api/pkg/repositories/memory_attachment_repository.go", + "source_location": "L41", + "_origin": "ast", + "id": "repositories_memoryattachmentrepository_download", + "community": 126, + "norm_label": ".download()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/memory_attachment_repository.go", + "source_location": "L53", + "_origin": "ast", + "id": "repositories_memoryattachmentrepository_delete", + "community": 126, + "norm_label": ".delete()" + }, + { + "label": "message_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/message_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_message_repository_go", + "community": 156, + "norm_label": "message_repository.go" + }, + { + "label": "MessageRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/message_repository.go", + "source_location": "L11", + "_origin": "ast", + "id": "repositories_messagerepository", + "community": 156, + "norm_label": "messagerepository" + }, + { + "label": "message_send_schedule_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/message_send_schedule_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_message_send_schedule_repository_go", + "community": 156, + "norm_label": "message_send_schedule_repository.go" + }, + { + "label": "MessageSendScheduleRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/message_send_schedule_repository.go", + "source_location": "L11", + "_origin": "ast", + "id": "repositories_messagesendschedulerepository", + "community": 156, + "norm_label": "messagesendschedulerepository" + }, + { + "label": "message_thread_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/message_thread_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_message_thread_repository_go", + "community": 156, + "norm_label": "message_thread_repository.go" + }, + { + "label": "MessageThreadRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/message_thread_repository.go", + "source_location": "L12", + "_origin": "ast", + "id": "repositories_messagethreadrepository", + "community": 156, + "norm_label": "messagethreadrepository" + }, + { + "label": "mongo_heartbeat_monitor_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_monitor_repository_go", + "community": 83, + "norm_label": "mongo_heartbeat_monitor_repository.go" + }, + { + "label": "mongoHeartbeatMonitorRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L18", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository", + "community": 83, + "norm_label": "mongoheartbeatmonitorrepository" + }, + { + "label": "Collection", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_monitor_repository_go_collection", + "community": 585, + "norm_label": "collection" + }, + { + "label": "NewMongoHeartbeatMonitorRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_monitor_repository_newmongoheartbeatmonitorrepository", + "community": 83, + "norm_label": "newmongoheartbeatmonitorrepository()" + }, + { + "label": "Database", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_monitor_repository_go_database", + "community": 587, + "norm_label": "database" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L37", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository_store", + "community": 83, + "norm_label": ".store()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_monitor_repository_go_context", + "community": 586, + "norm_label": "context" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L52", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository_load", + "community": 83, + "norm_label": ".load()" + }, + { + "label": ".Exists()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L76", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository_exists", + "community": 83, + "norm_label": ".exists()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_monitor_repository_go_uuid", + "community": 588, + "norm_label": "uuid" + }, + { + "label": ".UpdateQueueID()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L96", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository_updatequeueid", + "community": 83, + "norm_label": ".updatequeueid()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L117", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository_delete", + "community": 83, + "norm_label": ".delete()" + }, + { + "label": ".UpdatePhoneOnline()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L137", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository_updatephoneonline", + "community": 83, + "norm_label": ".updatephoneonline()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_monitor_repository.go", + "source_location": "L161", + "_origin": "ast", + "id": "repositories_mongoheartbeatmonitorrepository_deleteallforuser", + "community": 83, + "norm_label": ".deleteallforuser()" + }, + { + "label": "mongo_heartbeat_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_repository_go", + "community": 115, + "norm_label": "mongo_heartbeat_repository.go" + }, + { + "label": "mongoHeartbeatRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_repository.go", + "source_location": "L17", + "_origin": "ast", + "id": "repositories_mongoheartbeatrepository", + "community": 115, + "norm_label": "mongoheartbeatrepository" + }, + { + "label": "Collection", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_repository_go_collection", + "community": 589, + "norm_label": "collection" + }, + { + "label": "NewMongoHeartbeatRepository()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_repository.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_repository_newmongoheartbeatrepository", + "community": 115, + "norm_label": "newmongoheartbeatrepository()" + }, + { + "label": "Database", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_repository_go_database", + "community": 591, + "norm_label": "database" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_repository.go", + "source_location": "L36", + "_origin": "ast", + "id": "repositories_mongoheartbeatrepository_store", + "community": 115, + "norm_label": ".store()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongo_heartbeat_repository_go_context", + "community": 590, + "norm_label": "context" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_repository.go", + "source_location": "L51", + "_origin": "ast", + "id": "repositories_mongoheartbeatrepository_index", + "community": 115, + "norm_label": ".index()" + }, + { + "label": ".Last()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_repository.go", + "source_location": "L90", + "_origin": "ast", + "id": "repositories_mongoheartbeatrepository_last", + "community": 115, + "norm_label": ".last()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongo_heartbeat_repository.go", + "source_location": "L116", + "_origin": "ast", + "id": "repositories_mongoheartbeatrepository_deleteallforuser", + "community": 115, + "norm_label": ".deleteallforuser()" + }, + { + "label": "mongodb.go", + "file_type": "code", + "source_file": "api/pkg/repositories/mongodb.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_go", + "community": 73, + "norm_label": "mongodb.go" + }, + { + "label": "uuidEncodeValue()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongodb.go", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_uuidencodevalue", + "community": 73, + "norm_label": "uuidencodevalue()" + }, + { + "label": "EncodeContext", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "encodecontext", + "community": 73, + "norm_label": "encodecontext" + }, + { + "label": "ValueWriter", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "valuewriter", + "community": 73, + "norm_label": "valuewriter" + }, + { + "label": "Value", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "value", + "community": 73, + "norm_label": "value" + }, + { + "label": "uuidDecodeValue()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongodb.go", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_uuiddecodevalue", + "community": 73, + "norm_label": "uuiddecodevalue()" + }, + { + "label": "DecodeContext", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "decodecontext", + "community": 73, + "norm_label": "decodecontext" + }, + { + "label": "ValueReader", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "valuereader", + "community": 73, + "norm_label": "valuereader" + }, + { + "label": "newMongoRegistry()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongodb.go", + "source_location": "L43", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_newmongoregistry", + "community": 73, + "norm_label": "newmongoregistry()" + }, + { + "label": "Registry", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "registry", + "community": 73, + "norm_label": "registry" + }, + { + "label": "NewMongoDB()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongodb.go", + "source_location": "L52", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_newmongodb", + "community": 73, + "norm_label": "newmongodb()" + }, + { + "label": "Database", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_go_database", + "community": 593, + "norm_label": "database" + }, + { + "label": "parseMongoDBName()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongodb.go", + "source_location": "L91", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_parsemongodbname", + "community": 73, + "norm_label": "parsemongodbname()" + }, + { + "label": "createMongoIndexes()", + "file_type": "code", + "source_file": "api/pkg/repositories/mongodb.go", + "source_location": "L105", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_createmongoindexes", + "community": 73, + "norm_label": "createmongoindexes()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_mongodb_go_context", + "community": 592, + "norm_label": "context" + }, + { + "label": "phone_api_key_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/phone_api_key_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_phone_api_key_repository_go", + "community": 36, + "norm_label": "phone_api_key_repository.go" + }, + { + "label": "PhoneAPIKeyRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/phone_api_key_repository.go", + "source_location": "L12", + "_origin": "ast", + "id": "repositories_phoneapikeyrepository", + "community": 36, + "norm_label": "phoneapikeyrepository" + }, + { + "label": "phone_notification_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/phone_notification_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_phone_notification_repository_go", + "community": 156, + "norm_label": "phone_notification_repository.go" + }, + { + "label": "PhoneNotificationRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/phone_notification_repository.go", + "source_location": "L12", + "_origin": "ast", + "id": "repositories_phonenotificationrepository", + "community": 156, + "norm_label": "phonenotificationrepository" + }, + { + "label": "phone_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/phone_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_phone_repository_go", + "community": 156, + "norm_label": "phone_repository.go" + }, + { + "label": "PhoneRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/phone_repository.go", + "source_location": "L12", + "_origin": "ast", + "id": "repositories_phonerepository", + "community": 156, + "norm_label": "phonerepository" + }, + { + "label": "repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_repository_go", + "community": 67, + "norm_label": "repository.go" + }, + { + "label": "IndexParams", + "file_type": "code", + "source_file": "api/pkg/repositories/repository.go", + "source_location": "L10", + "_origin": "ast", + "id": "repositories_indexparams", + "community": 67, + "norm_label": "indexparams" + }, + { + "label": "user_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/user_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_user_repository_go", + "community": 65, + "norm_label": "user_repository.go" + }, + { + "label": "UserRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/user_repository.go", + "source_location": "L10", + "_origin": "ast", + "id": "repositories_userrepository", + "community": 65, + "norm_label": "userrepository" + }, + { + "label": "webhook_repository.go", + "file_type": "code", + "source_file": "api/pkg/repositories/webhook_repository.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_repositories_webhook_repository_go", + "community": 156, + "norm_label": "webhook_repository.go" + }, + { + "label": "WebhookRepository", + "file_type": "code", + "source_file": "api/pkg/repositories/webhook_repository.go", + "source_location": "L12", + "_origin": "ast", + "id": "repositories_webhookrepository", + "community": 156, + "norm_label": "webhookrepository" + }, + { + "label": "billing_usage_history_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/billing_usage_history_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_billing_usage_history_request_go", + "community": 144, + "norm_label": "billing_usage_history_request.go" + }, + { + "label": "BillingUsageHistory", + "file_type": "code", + "source_file": "api/pkg/requests/billing_usage_history_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_billingusagehistory", + "community": 144, + "norm_label": "billingusagehistory" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/billing_usage_history_request.go", + "source_location": "L17", + "_origin": "ast", + "id": "requests_billingusagehistory_sanitize", + "community": 144, + "norm_label": ".sanitize()" + }, + { + "label": ".ToIndexParams()", + "file_type": "code", + "source_file": "api/pkg/requests/billing_usage_history_request.go", + "source_location": "L29", + "_origin": "ast", + "id": "requests_billingusagehistory_toindexparams", + "community": 144, + "norm_label": ".toindexparams()" + }, + { + "label": "bulk_message_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/bulk_message_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_bulk_message_request_go", + "community": 138, + "norm_label": "bulk_message_request.go" + }, + { + "label": "BulkMessage", + "file_type": "code", + "source_file": "api/pkg/requests/bulk_message_request.go", + "source_location": "L13", + "_origin": "ast", + "id": "requests_bulkmessage", + "community": 138, + "norm_label": "bulkmessage" + }, + { + "label": ".GetSendTime()", + "file_type": "code", + "source_file": "api/pkg/requests/bulk_message_request.go", + "source_location": "L26", + "_origin": "ast", + "id": "requests_bulkmessage_getsendtime", + "community": 138, + "norm_label": ".getsendtime()" + }, + { + "label": "Location", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_bulk_message_request_go_location", + "community": 594, + "norm_label": "location" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_bulk_message_request_go_time", + "community": 595, + "norm_label": "time" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/bulk_message_request.go", + "source_location": "L58", + "_origin": "ast", + "id": "requests_bulkmessage_sanitize", + "community": 138, + "norm_label": ".sanitize()" + }, + { + "label": ".ToMessageSendParams()", + "file_type": "code", + "source_file": "api/pkg/requests/bulk_message_request.go", + "source_location": "L74", + "_origin": "ast", + "id": "requests_bulkmessage_tomessagesendparams", + "community": 138, + "norm_label": ".tomessagesendparams()" + }, + { + "label": "discord_index_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/discord_index_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_discord_index_request_go", + "community": 153, + "norm_label": "discord_index_request.go" + }, + { + "label": "DiscordIndex", + "file_type": "code", + "source_file": "api/pkg/requests/discord_index_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_discordindex", + "community": 153, + "norm_label": "discordindex" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/discord_index_request.go", + "source_location": "L18", + "_origin": "ast", + "id": "requests_discordindex_sanitize", + "community": 153, + "norm_label": ".sanitize()" + }, + { + "label": ".ToIndexParams()", + "file_type": "code", + "source_file": "api/pkg/requests/discord_index_request.go", + "source_location": "L31", + "_origin": "ast", + "id": "requests_discordindex_toindexparams", + "community": 153, + "norm_label": ".toindexparams()" + }, + { + "label": "discord_store_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/discord_store_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_discord_store_request_go", + "community": 187, + "norm_label": "discord_store_request.go" + }, + { + "label": "DiscordStore", + "file_type": "code", + "source_file": "api/pkg/requests/discord_store_request.go", + "source_location": "L11", + "_origin": "ast", + "id": "requests_discordstore", + "community": 187, + "norm_label": "discordstore" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/discord_store_request.go", + "source_location": "L19", + "_origin": "ast", + "id": "requests_discordstore_sanitize", + "community": 187, + "norm_label": ".sanitize()" + }, + { + "label": ".ToStoreParams()", + "file_type": "code", + "source_file": "api/pkg/requests/discord_store_request.go", + "source_location": "L27", + "_origin": "ast", + "id": "requests_discordstore_tostoreparams", + "community": 187, + "norm_label": ".tostoreparams()" + }, + { + "label": "discord_update_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/discord_update_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_discord_update_request_go", + "community": 199, + "norm_label": "discord_update_request.go" + }, + { + "label": "DiscordUpdate", + "file_type": "code", + "source_file": "api/pkg/requests/discord_update_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_discordupdate", + "community": 199, + "norm_label": "discordupdate" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/discord_update_request.go", + "source_location": "L16", + "_origin": "ast", + "id": "requests_discordupdate_sanitize", + "community": 199, + "norm_label": ".sanitize()" + }, + { + "label": ".ToUpdateParams()", + "file_type": "code", + "source_file": "api/pkg/requests/discord_update_request.go", + "source_location": "L22", + "_origin": "ast", + "id": "requests_discordupdate_toupdateparams", + "community": 45, + "norm_label": ".toupdateparams()" + }, + { + "label": "firebase_email_auth_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/firebase_email_auth_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_requests_firebase_email_auth_request", + "community": 51, + "norm_label": "firebase_email_auth_request.go" + }, + { + "label": "FirebaseEmailAuthRequest", + "file_type": "code", + "source_file": "api/pkg/requests/firebase_email_auth_request.go", + "source_location": "L6", + "_origin": "ast", + "id": "requests_firebaseemailauthrequest", + "community": 51, + "norm_label": "firebaseemailauthrequest" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/firebase_email_auth_request.go", + "source_location": "L13", + "_origin": "ast", + "id": "requests_firebaseemailauthrequest_sanitize", + "community": 51, + "norm_label": ".sanitize()" + }, + { + "label": "FirebaseEmailRefreshRequest", + "file_type": "code", + "source_file": "api/pkg/requests/firebase_email_auth_request.go", + "source_location": "L20", + "_origin": "ast", + "id": "requests_firebaseemailrefreshrequest", + "community": 51, + "norm_label": "firebaseemailrefreshrequest" + }, + { + "label": "heartbeat_index_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_index_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_heartbeat_index_request_go", + "community": 48, + "norm_label": "heartbeat_index_request.go" + }, + { + "label": "HeartbeatIndex", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_index_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_heartbeatindex", + "community": 48, + "norm_label": "heartbeatindex" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_index_request.go", + "source_location": "L19", + "_origin": "ast", + "id": "requests_heartbeatindex_sanitize", + "community": 48, + "norm_label": ".sanitize()" + }, + { + "label": ".ToIndexParams()", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_index_request.go", + "source_location": "L33", + "_origin": "ast", + "id": "requests_heartbeatindex_toindexparams", + "community": 48, + "norm_label": ".toindexparams()" + }, + { + "label": "heartbeat_store_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_store_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_heartbeat_store_request_go", + "community": 48, + "norm_label": "heartbeat_store_request.go" + }, + { + "label": "HeartbeatStore", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_store_request.go", + "source_location": "L11", + "_origin": "ast", + "id": "requests_heartbeatstore", + "community": 48, + "norm_label": "heartbeatstore" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_store_request.go", + "source_location": "L19", + "_origin": "ast", + "id": "requests_heartbeatstore_sanitize", + "community": 48, + "norm_label": ".sanitize()" + }, + { + "label": ".ToStoreParams()", + "file_type": "code", + "source_file": "api/pkg/requests/heartbeat_store_request.go", + "source_location": "L31", + "_origin": "ast", + "id": "requests_heartbeatstore_tostoreparams", + "community": 48, + "norm_label": ".tostoreparams()" + }, + { + "label": "integration_3cx_message_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/integration_3cx_message_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_integration_3cx_message_request_go", + "community": 200, + "norm_label": "integration_3cx_message_request.go" + }, + { + "label": "Integration3CXMessage", + "file_type": "code", + "source_file": "api/pkg/requests/integration_3cx_message_request.go", + "source_location": "L14", + "_origin": "ast", + "id": "requests_integration3cxmessage", + "community": 200, + "norm_label": "integration3cxmessage" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/integration_3cx_message_request.go", + "source_location": "L22", + "_origin": "ast", + "id": "requests_integration3cxmessage_sanitize", + "community": 200, + "norm_label": ".sanitize()" + }, + { + "label": ".ToMessageSendParams()", + "file_type": "code", + "source_file": "api/pkg/requests/integration_3cx_message_request.go", + "source_location": "L29", + "_origin": "ast", + "id": "requests_integration3cxmessage_tomessagesendparams", + "community": 200, + "norm_label": ".tomessagesendparams()" + }, + { + "label": "message_bulk_send_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_bulk_send_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_bulk_send_request_go", + "community": 194, + "norm_label": "message_bulk_send_request.go" + }, + { + "label": "MessageBulkSend", + "file_type": "code", + "source_file": "api/pkg/requests/message_bulk_send_request.go", + "source_location": "L15", + "_origin": "ast", + "id": "requests_messagebulksend", + "community": 194, + "norm_label": "messagebulksend" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_bulk_send_request.go", + "source_location": "L32", + "_origin": "ast", + "id": "requests_messagebulksend_sanitize", + "community": 194, + "norm_label": ".sanitize()" + }, + { + "label": ".ToMessageSendParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_bulk_send_request.go", + "source_location": "L52", + "_origin": "ast", + "id": "requests_messagebulksend_tomessagesendparams", + "community": 194, + "norm_label": ".tomessagesendparams()" + }, + { + "label": "message_call_missed_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_call_missed_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_call_missed_request_go", + "community": 25, + "norm_label": "message_call_missed_request.go" + }, + { + "label": "MessageCallMissed", + "file_type": "code", + "source_file": "api/pkg/requests/message_call_missed_request.go", + "source_location": "L14", + "_origin": "ast", + "id": "requests_messagecallmissed", + "community": 25, + "norm_label": "messagecallmissed" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_call_missed_request_go_time", + "community": 596, + "norm_label": "time" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_call_missed_request.go", + "source_location": "L23", + "_origin": "ast", + "id": "requests_messagecallmissed_sanitize", + "community": 25, + "norm_label": ".sanitize()" + }, + { + "label": ".ToCallMissedParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_call_missed_request.go", + "source_location": "L32", + "_origin": "ast", + "id": "requests_messagecallmissed_tocallmissedparams", + "community": 157, + "norm_label": ".tocallmissedparams()" + }, + { + "label": "message_event_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_event_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_event_request_go", + "community": 25, + "norm_label": "message_event_request.go" + }, + { + "label": "MessageEvent", + "file_type": "code", + "source_file": "api/pkg/requests/message_event_request.go", + "source_location": "L13", + "_origin": "ast", + "id": "requests_messageevent", + "community": 25, + "norm_label": "messageevent" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_event_request_go_time", + "community": 597, + "norm_label": "time" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_event_request.go", + "source_location": "L32", + "_origin": "ast", + "id": "requests_messageevent_sanitize", + "community": 25, + "norm_label": ".sanitize()" + }, + { + "label": ".ToMessageStoreEventParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_event_request.go", + "source_location": "L38", + "_origin": "ast", + "id": "requests_messageevent_tomessagestoreeventparams", + "community": 15, + "norm_label": ".tomessagestoreeventparams()" + }, + { + "label": "message_index_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_index_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_index_request_go", + "community": 139, + "norm_label": "message_index_request.go" + }, + { + "label": "MessageIndex", + "file_type": "code", + "source_file": "api/pkg/requests/message_index_request.go", + "source_location": "L15", + "_origin": "ast", + "id": "requests_messageindex", + "community": 139, + "norm_label": "messageindex" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_index_request.go", + "source_location": "L24", + "_origin": "ast", + "id": "requests_messageindex_sanitize", + "community": 139, + "norm_label": ".sanitize()" + }, + { + "label": ".ToGetParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_index_request.go", + "source_location": "L43", + "_origin": "ast", + "id": "requests_messageindex_togetparams", + "community": 139, + "norm_label": ".togetparams()" + }, + { + "label": ".sanitizeAddress()", + "file_type": "code", + "source_file": "api/pkg/requests/message_index_request.go", + "source_location": "L57", + "_origin": "ast", + "id": "requests_messageindex_sanitizeaddress", + "community": 139, + "norm_label": ".sanitizeaddress()" + }, + { + "label": ".getInt()", + "file_type": "code", + "source_file": "api/pkg/requests/message_index_request.go", + "source_location": "L66", + "_origin": "ast", + "id": "requests_messageindex_getint", + "community": 139, + "norm_label": ".getint()" + }, + { + "label": "message_outstanding_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_outstanding_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_outstanding_request_go", + "community": 25, + "norm_label": "message_outstanding_request.go" + }, + { + "label": "MessageOutstanding", + "file_type": "code", + "source_file": "api/pkg/requests/message_outstanding_request.go", + "source_location": "L13", + "_origin": "ast", + "id": "requests_messageoutstanding", + "community": 25, + "norm_label": "messageoutstanding" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_outstanding_request.go", + "source_location": "L19", + "_origin": "ast", + "id": "requests_messageoutstanding_sanitize", + "community": 25, + "norm_label": ".sanitize()" + }, + { + "label": ".ToGetOutstandingParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_outstanding_request.go", + "source_location": "L25", + "_origin": "ast", + "id": "requests_messageoutstanding_togetoutstandingparams", + "community": 116, + "norm_label": ".togetoutstandingparams()" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_outstanding_request_go_time", + "community": 598, + "norm_label": "time" + }, + { + "label": "message_receive_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_receive_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_receive_request_go", + "community": 25, + "norm_label": "message_receive_request.go" + }, + { + "label": "MessageAttachment", + "file_type": "code", + "source_file": "api/pkg/requests/message_receive_request.go", + "source_location": "L15", + "_origin": "ast", + "id": "requests_messageattachment", + "community": 25, + "norm_label": "messageattachment" + }, + { + "label": "MessageReceive", + "file_type": "code", + "source_file": "api/pkg/requests/message_receive_request.go", + "source_location": "L25", + "_origin": "ast", + "id": "requests_messagereceive", + "community": 25, + "norm_label": "messagereceive" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_receive_request_go_sim", + "community": 599, + "norm_label": "sim" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_receive_request_go_time", + "community": 600, + "norm_label": "time" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_receive_request.go", + "source_location": "L41", + "_origin": "ast", + "id": "requests_messagereceive_sanitize", + "community": 25, + "norm_label": ".sanitize()" + }, + { + "label": ".ToMessageReceiveParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_receive_request.go", + "source_location": "L51", + "_origin": "ast", + "id": "requests_messagereceive_tomessagereceiveparams", + "community": 61, + "norm_label": ".tomessagereceiveparams()" + }, + { + "label": "message_search_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_search_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_search_request_go", + "community": 25, + "norm_label": "message_search_request.go" + }, + { + "label": "MessageSearch", + "file_type": "code", + "source_file": "api/pkg/requests/message_search_request.go", + "source_location": "L14", + "_origin": "ast", + "id": "requests_messagesearch", + "community": 25, + "norm_label": "messagesearch" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_search_request.go", + "source_location": "L30", + "_origin": "ast", + "id": "requests_messagesearch_sanitize", + "community": 25, + "norm_label": ".sanitize()" + }, + { + "label": ".ToSearchParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_search_request.go", + "source_location": "L46", + "_origin": "ast", + "id": "requests_messagesearch_tosearchparams", + "community": 50, + "norm_label": ".tosearchparams()" + }, + { + "label": "message_send_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_send_request_go", + "community": 25, + "norm_label": "message_send_request.go" + }, + { + "label": "MessageSend", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_request.go", + "source_location": "L15", + "_origin": "ast", + "id": "requests_messagesend", + "community": 25, + "norm_label": "messagesend" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_send_request_go_time", + "community": 601, + "norm_label": "time" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_request.go", + "source_location": "L33", + "_origin": "ast", + "id": "requests_messagesend_sanitize", + "community": 25, + "norm_label": ".sanitize()" + }, + { + "label": ".ToMessageSendParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_request.go", + "source_location": "L48", + "_origin": "ast", + "id": "requests_messagesend_tomessagesendparams", + "community": 25, + "norm_label": ".tomessagesendparams()" + }, + { + "label": "message_send_schedule_store_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_schedule_store_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_send_schedule_store_request_go", + "community": 54, + "norm_label": "message_send_schedule_store_request.go" + }, + { + "label": "MessageSendScheduleWindow", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_schedule_store_request.go", + "source_location": "L12", + "_origin": "ast", + "id": "requests_messagesendschedulewindow", + "community": 54, + "norm_label": "messagesendschedulewindow" + }, + { + "label": "MessageSendScheduleStore", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_schedule_store_request.go", + "source_location": "L19", + "_origin": "ast", + "id": "requests_messagesendschedulestore", + "community": 54, + "norm_label": "messagesendschedulestore" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_schedule_store_request.go", + "source_location": "L27", + "_origin": "ast", + "id": "requests_messagesendschedulestore_sanitize", + "community": 54, + "norm_label": ".sanitize()" + }, + { + "label": ".ToParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_send_schedule_store_request.go", + "source_location": "L45", + "_origin": "ast", + "id": "requests_messagesendschedulestore_toparams", + "community": 54, + "norm_label": ".toparams()" + }, + { + "label": "message_thread_index_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_thread_index_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_thread_index_request_go", + "community": 137, + "norm_label": "message_thread_index_request.go" + }, + { + "label": "MessageThreadIndex", + "file_type": "code", + "source_file": "api/pkg/requests/message_thread_index_request.go", + "source_location": "L14", + "_origin": "ast", + "id": "requests_messagethreadindex", + "community": 137, + "norm_label": "messagethreadindex" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/message_thread_index_request.go", + "source_location": "L24", + "_origin": "ast", + "id": "requests_messagethreadindex_sanitize", + "community": 137, + "norm_label": ".sanitize()" + }, + { + "label": ".ToGetParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_thread_index_request.go", + "source_location": "L46", + "_origin": "ast", + "id": "requests_messagethreadindex_togetparams", + "community": 137, + "norm_label": ".togetparams()" + }, + { + "label": "message_thread_update_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/message_thread_update_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_message_thread_update_request_go", + "community": 107, + "norm_label": "message_thread_update_request.go" + }, + { + "label": "MessageThreadUpdate", + "file_type": "code", + "source_file": "api/pkg/requests/message_thread_update_request.go", + "source_location": "L11", + "_origin": "ast", + "id": "requests_messagethreadupdate", + "community": 107, + "norm_label": "messagethreadupdate" + }, + { + "label": ".ToUpdateParams()", + "file_type": "code", + "source_file": "api/pkg/requests/message_thread_update_request.go", + "source_location": "L19", + "_origin": "ast", + "id": "requests_messagethreadupdate_toupdateparams", + "community": 107, + "norm_label": ".toupdateparams()" + }, + { + "label": "phone_api_key_index_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/phone_api_key_index_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_phone_api_key_index_request_go", + "community": 39, + "norm_label": "phone_api_key_index_request.go" + }, + { + "label": "PhoneAPIKeyIndex", + "file_type": "code", + "source_file": "api/pkg/requests/phone_api_key_index_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_phoneapikeyindex", + "community": 39, + "norm_label": "phoneapikeyindex" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_api_key_index_request.go", + "source_location": "L18", + "_origin": "ast", + "id": "requests_phoneapikeyindex_sanitize", + "community": 39, + "norm_label": ".sanitize()" + }, + { + "label": ".ToIndexParams()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_api_key_index_request.go", + "source_location": "L31", + "_origin": "ast", + "id": "requests_phoneapikeyindex_toindexparams", + "community": 39, + "norm_label": ".toindexparams()" + }, + { + "label": "phone_api_key_store_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/phone_api_key_store_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_phone_api_key_store_request_go", + "community": 39, + "norm_label": "phone_api_key_store_request.go" + }, + { + "label": "PhoneAPIKeyStoreRequest", + "file_type": "code", + "source_file": "api/pkg/requests/phone_api_key_store_request.go", + "source_location": "L4", + "_origin": "ast", + "id": "requests_phoneapikeystorerequest", + "community": 39, + "norm_label": "phoneapikeystorerequest" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_api_key_store_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_phoneapikeystorerequest_sanitize", + "community": 39, + "norm_label": ".sanitize()" + }, + { + "label": "phone_delete_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/phone_delete_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_phone_delete_request_go", + "community": 58, + "norm_label": "phone_delete_request.go" + }, + { + "label": "PhoneDelete", + "file_type": "code", + "source_file": "api/pkg/requests/phone_delete_request.go", + "source_location": "L8", + "_origin": "ast", + "id": "requests_phonedelete", + "community": 58, + "norm_label": "phonedelete" + }, + { + "label": ".PhoneIDUuid()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_delete_request.go", + "source_location": "L14", + "_origin": "ast", + "id": "requests_phonedelete_phoneiduuid", + "community": 58, + "norm_label": ".phoneiduuid()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_phone_delete_request_go_uuid", + "community": 602, + "norm_label": "uuid" + }, + { + "label": "phone_fcm_token_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/phone_fcm_token_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_phone_fcm_token_request_go", + "community": 58, + "norm_label": "phone_fcm_token_request.go" + }, + { + "label": "PhoneFCMToken", + "file_type": "code", + "source_file": "api/pkg/requests/phone_fcm_token_request.go", + "source_location": "L13", + "_origin": "ast", + "id": "requests_phonefcmtoken", + "community": 58, + "norm_label": "phonefcmtoken" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_fcm_token_request.go", + "source_location": "L22", + "_origin": "ast", + "id": "requests_phonefcmtoken_sanitize", + "community": 58, + "norm_label": ".sanitize()" + }, + { + "label": ".ToPhoneFCMTokenParams()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_fcm_token_request.go", + "source_location": "L30", + "_origin": "ast", + "id": "requests_phonefcmtoken_tophonefcmtokenparams", + "community": 58, + "norm_label": ".tophonefcmtokenparams()" + }, + { + "label": "phone_index_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/phone_index_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_phone_index_request_go", + "community": 58, + "norm_label": "phone_index_request.go" + }, + { + "label": "PhoneIndex", + "file_type": "code", + "source_file": "api/pkg/requests/phone_index_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_phoneindex", + "community": 58, + "norm_label": "phoneindex" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_index_request.go", + "source_location": "L18", + "_origin": "ast", + "id": "requests_phoneindex_sanitize", + "community": 58, + "norm_label": ".sanitize()" + }, + { + "label": ".ToIndexParams()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_index_request.go", + "source_location": "L31", + "_origin": "ast", + "id": "requests_phoneindex_toindexparams", + "community": 58, + "norm_label": ".toindexparams()" + }, + { + "label": "phone_update_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/phone_update_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_phone_update_request_go", + "community": 58, + "norm_label": "phone_update_request.go" + }, + { + "label": "PhoneUpsert", + "file_type": "code", + "source_file": "api/pkg/requests/phone_update_request.go", + "source_location": "L17", + "_origin": "ast", + "id": "requests_phoneupsert", + "community": 58, + "norm_label": "phoneupsert" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_update_request.go", + "source_location": "L42", + "_origin": "ast", + "id": "requests_phoneupsert_sanitize", + "community": 58, + "norm_label": ".sanitize()" + }, + { + "label": ".ToUpsertParams()", + "file_type": "code", + "source_file": "api/pkg/requests/phone_update_request.go", + "source_location": "L54", + "_origin": "ast", + "id": "requests_phoneupsert_toupsertparams", + "community": 58, + "norm_label": ".toupsertparams()" + }, + { + "label": "request.go", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_request_go", + "community": 55, + "norm_label": "request.go" + }, + { + "label": "request", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L14", + "_origin": "ast", + "id": "requests_request", + "community": 55, + "norm_label": "request" + }, + { + "label": ".sanitizeAddresses()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L16", + "_origin": "ast", + "id": "requests_request_sanitizeaddresses", + "community": 55, + "norm_label": ".sanitizeaddresses()" + }, + { + "label": ".sanitizeAddress()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L24", + "_origin": "ast", + "id": "requests_request_sanitizeaddress", + "community": 55, + "norm_label": ".sanitizeaddress()" + }, + { + "label": ".sanitizeContact()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L37", + "_origin": "ast", + "id": "requests_request_sanitizecontact", + "community": 55, + "norm_label": ".sanitizecontact()" + }, + { + "label": ".sanitizeBool()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L57", + "_origin": "ast", + "id": "requests_request_sanitizebool", + "community": 55, + "norm_label": ".sanitizebool()" + }, + { + "label": ".sanitizeSIM()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L70", + "_origin": "ast", + "id": "requests_request_sanitizesim", + "community": 55, + "norm_label": ".sanitizesim()" + }, + { + "label": ".sanitizeURL()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L77", + "_origin": "ast", + "id": "requests_request_sanitizeurl", + "community": 55, + "norm_label": ".sanitizeurl()" + }, + { + "label": ".sanitizeStringPointer()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L89", + "_origin": "ast", + "id": "requests_request_sanitizestringpointer", + "community": 55, + "norm_label": ".sanitizestringpointer()" + }, + { + "label": ".removeStringDuplicates()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L97", + "_origin": "ast", + "id": "requests_request_removestringduplicates", + "community": 55, + "norm_label": ".removestringduplicates()" + }, + { + "label": ".removeEmptyStrings()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L111", + "_origin": "ast", + "id": "requests_request_removeemptystrings", + "community": 55, + "norm_label": ".removeemptystrings()" + }, + { + "label": ".sanitizeMessageID()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L123", + "_origin": "ast", + "id": "requests_request_sanitizemessageid", + "community": 55, + "norm_label": ".sanitizemessageid()" + }, + { + "label": ".getBool()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L135", + "_origin": "ast", + "id": "requests_request_getbool", + "community": 55, + "norm_label": ".getbool()" + }, + { + "label": ".getInt()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L143", + "_origin": "ast", + "id": "requests_request_getint", + "community": 55, + "norm_label": ".getint()" + }, + { + "label": ".isDigits()", + "file_type": "code", + "source_file": "api/pkg/requests/request.go", + "source_location": "L148", + "_origin": "ast", + "id": "requests_request_isdigits", + "community": 55, + "norm_label": ".isdigits()" + }, + { + "label": "user_notification_update_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/user_notification_update_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_user_notification_update_request_go", + "community": 92, + "norm_label": "user_notification_update_request.go" + }, + { + "label": "UserNotificationUpdate", + "file_type": "code", + "source_file": "api/pkg/requests/user_notification_update_request.go", + "source_location": "L8", + "_origin": "ast", + "id": "requests_usernotificationupdate", + "community": 92, + "norm_label": "usernotificationupdate" + }, + { + "label": ".ToUserNotificationUpdateParams()", + "file_type": "code", + "source_file": "api/pkg/requests/user_notification_update_request.go", + "source_location": "L17", + "_origin": "ast", + "id": "requests_usernotificationupdate_tousernotificationupdateparams", + "community": 92, + "norm_label": ".tousernotificationupdateparams()" + }, + { + "label": "user_payment_invoice_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/user_payment_invoice_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_user_payment_invoice_request_go", + "community": 96, + "norm_label": "user_payment_invoice_request.go" + }, + { + "label": "UserPaymentInvoice", + "file_type": "code", + "source_file": "api/pkg/requests/user_payment_invoice_request.go", + "source_location": "L9", + "_origin": "ast", + "id": "requests_userpaymentinvoice", + "community": 96, + "norm_label": "userpaymentinvoice" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/user_payment_invoice_request.go", + "source_location": "L22", + "_origin": "ast", + "id": "requests_userpaymentinvoice_sanitize", + "community": 96, + "norm_label": ".sanitize()" + }, + { + "label": ".UserInvoiceGenerateParams()", + "file_type": "code", + "source_file": "api/pkg/requests/user_payment_invoice_request.go", + "source_location": "L34", + "_origin": "ast", + "id": "requests_userpaymentinvoice_userinvoicegenerateparams", + "community": 96, + "norm_label": ".userinvoicegenerateparams()" + }, + { + "label": "user_update_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/user_update_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_user_update_request_go", + "community": 96, + "norm_label": "user_update_request.go" + }, + { + "label": "UserUpdate", + "file_type": "code", + "source_file": "api/pkg/requests/user_update_request.go", + "source_location": "L13", + "_origin": "ast", + "id": "requests_userupdate", + "community": 96, + "norm_label": "userupdate" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/user_update_request.go", + "source_location": "L20", + "_origin": "ast", + "id": "requests_userupdate_sanitize", + "community": 96, + "norm_label": ".sanitize()" + }, + { + "label": ".ToUpdateParams()", + "file_type": "code", + "source_file": "api/pkg/requests/user_update_request.go", + "source_location": "L27", + "_origin": "ast", + "id": "requests_userupdate_toupdateparams", + "community": 92, + "norm_label": ".toupdateparams()" + }, + { + "label": "webhook_index_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_index_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_webhook_index_request_go", + "community": 8, + "norm_label": "webhook_index_request.go" + }, + { + "label": "WebhookIndex", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_index_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_webhookindex", + "community": 8, + "norm_label": "webhookindex" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_index_request.go", + "source_location": "L18", + "_origin": "ast", + "id": "requests_webhookindex_sanitize", + "community": 8, + "norm_label": ".sanitize()" + }, + { + "label": ".ToIndexParams()", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_index_request.go", + "source_location": "L31", + "_origin": "ast", + "id": "requests_webhookindex_toindexparams", + "community": 8, + "norm_label": ".toindexparams()" + }, + { + "label": "webhook_store_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_store_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_webhook_store_request_go", + "community": 8, + "norm_label": "webhook_store_request.go" + }, + { + "label": "WebhookStore", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_store_request.go", + "source_location": "L11", + "_origin": "ast", + "id": "requests_webhookstore", + "community": 8, + "norm_label": "webhookstore" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_store_request.go", + "source_location": "L20", + "_origin": "ast", + "id": "requests_webhookstore_sanitize", + "community": 8, + "norm_label": ".sanitize()" + }, + { + "label": ".ToStoreParams()", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_store_request.go", + "source_location": "L34", + "_origin": "ast", + "id": "requests_webhookstore_tostoreparams", + "community": 8, + "norm_label": ".tostoreparams()" + }, + { + "label": "webhook_update_request.go", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_update_request.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_requests_webhook_update_request_go", + "community": 8, + "norm_label": "webhook_update_request.go" + }, + { + "label": "WebhookUpdate", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_update_request.go", + "source_location": "L10", + "_origin": "ast", + "id": "requests_webhookupdate", + "community": 8, + "norm_label": "webhookupdate" + }, + { + "label": ".Sanitize()", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_update_request.go", + "source_location": "L16", + "_origin": "ast", + "id": "requests_webhookupdate_sanitize", + "community": 8, + "norm_label": ".sanitize()" + }, + { + "label": ".ToUpdateParams()", + "file_type": "code", + "source_file": "api/pkg/requests/webhook_update_request.go", + "source_location": "L22", + "_origin": "ast", + "id": "requests_webhookupdate_toupdateparams", + "community": 8, + "norm_label": ".toupdateparams()" + }, + { + "label": "billing_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/billing_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_billing_responses_go", + "community": 69, + "norm_label": "billing_responses.go" + }, + { + "label": "BillingUsagesResponse", + "file_type": "code", + "source_file": "api/pkg/responses/billing_responses.go", + "source_location": "L8", + "_origin": "ast", + "id": "responses_billingusagesresponse", + "community": 69, + "norm_label": "billingusagesresponse" + }, + { + "label": "BillingUsageResponse", + "file_type": "code", + "source_file": "api/pkg/responses/billing_responses.go", + "source_location": "L14", + "_origin": "ast", + "id": "responses_billingusageresponse", + "community": 69, + "norm_label": "billingusageresponse" + }, + { + "label": "bulk_message_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/bulk_message_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_bulk_message_responses_go", + "community": 252, + "norm_label": "bulk_message_responses.go" + }, + { + "label": "BulkMessagesResponse", + "file_type": "code", + "source_file": "api/pkg/responses/bulk_message_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_bulkmessagesresponse", + "community": 252, + "norm_label": "bulkmessagesresponse" + }, + { + "label": "BulkMessage", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_bulk_message_responses_go_bulkmessage", + "community": 603, + "norm_label": "bulkmessage" + }, + { + "label": "discord_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/discord_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_discord_responses_go", + "community": 248, + "norm_label": "discord_responses.go" + }, + { + "label": "DiscordResponse", + "file_type": "code", + "source_file": "api/pkg/responses/discord_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_discordresponse", + "community": 248, + "norm_label": "discordresponse" + }, + { + "label": "DiscordsResponse", + "file_type": "code", + "source_file": "api/pkg/responses/discord_responses.go", + "source_location": "L12", + "_origin": "ast", + "id": "responses_discordsresponse", + "community": 248, + "norm_label": "discordsresponse" + }, + { + "label": "firebase_email_auth_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/firebase_email_auth_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_responses_firebase_email_auth_responses", + "community": 246, + "norm_label": "firebase_email_auth_responses.go" + }, + { + "label": "FirebaseEmailAuthResponse", + "file_type": "code", + "source_file": "api/pkg/responses/firebase_email_auth_responses.go", + "source_location": "L4", + "_origin": "ast", + "id": "responses_firebaseemailauthresponse", + "community": 246, + "norm_label": "firebaseemailauthresponse" + }, + { + "label": "heartbeat_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/heartbeat_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_heartbeat_responses_go", + "community": 253, + "norm_label": "heartbeat_responses.go" + }, + { + "label": "HeartbeatsResponse", + "file_type": "code", + "source_file": "api/pkg/responses/heartbeat_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_heartbeatsresponse", + "community": 253, + "norm_label": "heartbeatsresponse" + }, + { + "label": "HeartbeatResponse", + "file_type": "code", + "source_file": "api/pkg/responses/heartbeat_responses.go", + "source_location": "L12", + "_origin": "ast", + "id": "responses_heartbeatresponse", + "community": 253, + "norm_label": "heartbeatresponse" + }, + { + "label": "message_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/message_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_message_responses_go", + "community": 256, + "norm_label": "message_responses.go" + }, + { + "label": "MessageResponse", + "file_type": "code", + "source_file": "api/pkg/responses/message_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_messageresponse", + "community": 256, + "norm_label": "messageresponse" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_message_responses_go_message", + "community": 604, + "norm_label": "message" + }, + { + "label": "MessagesResponse", + "file_type": "code", + "source_file": "api/pkg/responses/message_responses.go", + "source_location": "L12", + "_origin": "ast", + "id": "responses_messagesresponse", + "community": 256, + "norm_label": "messagesresponse" + }, + { + "label": "message_send_schedule_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/message_send_schedule_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_message_send_schedule_responses_go", + "community": 254, + "norm_label": "message_send_schedule_responses.go" + }, + { + "label": "MessageSendSchedulesResponse", + "file_type": "code", + "source_file": "api/pkg/responses/message_send_schedule_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_messagesendschedulesresponse", + "community": 254, + "norm_label": "messagesendschedulesresponse" + }, + { + "label": "MessageSendScheduleResponse", + "file_type": "code", + "source_file": "api/pkg/responses/message_send_schedule_responses.go", + "source_location": "L12", + "_origin": "ast", + "id": "responses_messagesendscheduleresponse", + "community": 254, + "norm_label": "messagesendscheduleresponse" + }, + { + "label": "message_thead_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/message_thead_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_message_thead_responses_go", + "community": 80, + "norm_label": "message_thead_responses.go" + }, + { + "label": "MessageThreadsResponse", + "file_type": "code", + "source_file": "api/pkg/responses/message_thead_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_messagethreadsresponse", + "community": 80, + "norm_label": "messagethreadsresponse" + }, + { + "label": "phone_api_key_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/phone_api_key_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_phone_api_key_responses_go", + "community": 255, + "norm_label": "phone_api_key_responses.go" + }, + { + "label": "PhoneAPIKeyResponse", + "file_type": "code", + "source_file": "api/pkg/responses/phone_api_key_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_phoneapikeyresponse", + "community": 255, + "norm_label": "phoneapikeyresponse" + }, + { + "label": "PhoneAPIKeysResponse", + "file_type": "code", + "source_file": "api/pkg/responses/phone_api_key_responses.go", + "source_location": "L12", + "_origin": "ast", + "id": "responses_phoneapikeysresponse", + "community": 255, + "norm_label": "phoneapikeysresponse" + }, + { + "label": "phone_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/phone_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_phone_responses_go", + "community": 257, + "norm_label": "phone_responses.go" + }, + { + "label": "PhonesResponse", + "file_type": "code", + "source_file": "api/pkg/responses/phone_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_phonesresponse", + "community": 257, + "norm_label": "phonesresponse" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_phone_responses_go_phone", + "community": 605, + "norm_label": "phone" + }, + { + "label": "PhoneResponse", + "file_type": "code", + "source_file": "api/pkg/responses/phone_responses.go", + "source_location": "L12", + "_origin": "ast", + "id": "responses_phoneresponse", + "community": 257, + "norm_label": "phoneresponse" + }, + { + "label": "response.go", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_response_go", + "community": 147, + "norm_label": "response.go" + }, + { + "label": "response", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L3", + "_origin": "ast", + "id": "responses_response", + "community": 147, + "norm_label": "response" + }, + { + "label": "InternalServerError", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L9", + "_origin": "ast", + "id": "responses_internalservererror", + "community": 147, + "norm_label": "internalservererror" + }, + { + "label": "NotFound", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L15", + "_origin": "ast", + "id": "responses_notfound", + "community": 147, + "norm_label": "notfound" + }, + { + "label": "BadRequest", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L21", + "_origin": "ast", + "id": "responses_badrequest", + "community": 147, + "norm_label": "badrequest" + }, + { + "label": "UnprocessableEntity", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L28", + "_origin": "ast", + "id": "responses_unprocessableentity", + "community": 147, + "norm_label": "unprocessableentity" + }, + { + "label": "Unauthorized", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L35", + "_origin": "ast", + "id": "responses_unauthorized", + "community": 147, + "norm_label": "unauthorized" + }, + { + "label": "PaymentRequired", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L42", + "_origin": "ast", + "id": "responses_paymentrequired", + "community": 147, + "norm_label": "paymentrequired" + }, + { + "label": "NoContent", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L48", + "_origin": "ast", + "id": "responses_nocontent", + "community": 147, + "norm_label": "nocontent" + }, + { + "label": "Ok", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L54", + "_origin": "ast", + "id": "responses_ok", + "community": 147, + "norm_label": "ok" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_response_go_t", + "community": 606, + "norm_label": "t" + }, + { + "label": "OkString", + "file_type": "code", + "source_file": "api/pkg/responses/response.go", + "source_location": "L61", + "_origin": "ast", + "id": "responses_okstring", + "community": 147, + "norm_label": "okstring" + }, + { + "label": "user_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/user_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_user_responses_go", + "community": 260, + "norm_label": "user_responses.go" + }, + { + "label": "UserResponse", + "file_type": "code", + "source_file": "api/pkg/responses/user_responses.go", + "source_location": "L10", + "_origin": "ast", + "id": "responses_userresponse", + "community": 260, + "norm_label": "userresponse" + }, + { + "label": "UserSubscriptionPaymentsResponse", + "file_type": "code", + "source_file": "api/pkg/responses/user_responses.go", + "source_location": "L16", + "_origin": "ast", + "id": "responses_usersubscriptionpaymentsresponse", + "community": 260, + "norm_label": "usersubscriptionpaymentsresponse" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_user_responses_go_time", + "community": 607, + "norm_label": "time" + }, + { + "label": "webhook_responses.go", + "file_type": "code", + "source_file": "api/pkg/responses/webhook_responses.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_responses_webhook_responses_go", + "community": 274, + "norm_label": "webhook_responses.go" + }, + { + "label": "WebhookResponse", + "file_type": "code", + "source_file": "api/pkg/responses/webhook_responses.go", + "source_location": "L6", + "_origin": "ast", + "id": "responses_webhookresponse", + "community": 274, + "norm_label": "webhookresponse" + }, + { + "label": "WebhooksResponse", + "file_type": "code", + "source_file": "api/pkg/responses/webhook_responses.go", + "source_location": "L12", + "_origin": "ast", + "id": "responses_webhooksresponse", + "community": 274, + "norm_label": "webhooksresponse" + }, + { + "label": "billing_service.go", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_services_billing_service", + "community": 121, + "norm_label": "billing_service.go" + }, + { + "label": "billingLimitsEnabled()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L24", + "_origin": "ast", + "id": "api_pkg_services_billing_service_billinglimitsenabled", + "community": 121, + "norm_label": "billinglimitsenabled()" + }, + { + "label": "BillingService", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L34", + "_origin": "ast", + "id": "services_billingservice", + "community": 18, + "norm_label": "billingservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_billing_service_go_service", + "community": 18, + "norm_label": "service" + }, + { + "label": "NewBillingService()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L46", + "_origin": "ast", + "id": "api_pkg_services_billing_service_newbillingservice", + "community": 65, + "norm_label": "newbillingservice()" + }, + { + "label": ".IsEntitledWithCount()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L67", + "_origin": "ast", + "id": "services_billingservice_isentitledwithcount", + "community": 18, + "norm_label": ".isentitledwithcount()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_billing_service_go_context", + "community": 18, + "norm_label": "context" + }, + { + "label": ".IsEntitled()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L95", + "_origin": "ast", + "id": "services_billingservice_isentitled", + "community": 18, + "norm_label": ".isentitled()" + }, + { + "label": ".handleLimitExceeded()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L99", + "_origin": "ast", + "id": "services_billingservice_handlelimitexceeded", + "community": 18, + "norm_label": ".handlelimitexceeded()" + }, + { + "label": ".sendLimitExceededEmail()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L113", + "_origin": "ast", + "id": "services_billingservice_sendlimitexceededemail", + "community": 18, + "norm_label": ".sendlimitexceededemail()" + }, + { + "label": ".GetCurrentUsage()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L140", + "_origin": "ast", + "id": "services_billingservice_getcurrentusage", + "community": 18, + "norm_label": ".getcurrentusage()" + }, + { + "label": ".GetUsageHistory()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L148", + "_origin": "ast", + "id": "services_billingservice_getusagehistory", + "community": 67, + "norm_label": ".getusagehistory()" + }, + { + "label": ".RegisterSentMessage()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L156", + "_origin": "ast", + "id": "services_billingservice_registersentmessage", + "community": 18, + "norm_label": ".registersentmessage()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_billing_service_go_uuid", + "community": 18, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_billing_service_go_time", + "community": 18, + "norm_label": "time" + }, + { + "label": ".RegisterReceivedMessage()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L172", + "_origin": "ast", + "id": "services_billingservice_registerreceivedmessage", + "community": 18, + "norm_label": ".registerreceivedmessage()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L188", + "_origin": "ast", + "id": "services_billingservice_deleteallforuser", + "community": 18, + "norm_label": ".deleteallforuser()" + }, + { + "label": ".sendUsageAlert()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L200", + "_origin": "ast", + "id": "services_billingservice_sendusagealert", + "community": 18, + "norm_label": ".sendusagealert()" + }, + { + "label": ".shouldSendAlert()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service.go", + "source_location": "L237", + "_origin": "ast", + "id": "services_billingservice_shouldsendalert", + "community": 18, + "norm_label": ".shouldsendalert()" + }, + { + "label": "billing_service_test.go", + "file_type": "code", + "source_file": "api/pkg/services/billing_service_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_services_billing_service_test", + "community": 121, + "norm_label": "billing_service_test.go" + }, + { + "label": "TestBillingLimitsEnabled_DefaultsToFalse()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service_test.go", + "source_location": "L11", + "_origin": "ast", + "id": "api_pkg_services_billing_service_test_testbillinglimitsenabled_defaultstofalse", + "community": 121, + "norm_label": "testbillinglimitsenabled_defaultstofalse()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_billing_service_test_go_t", + "community": 121, + "norm_label": "t" + }, + { + "label": "TestBillingLimitsEnabled_RequiresExplicitTrue()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service_test.go", + "source_location": "L16", + "_origin": "ast", + "id": "api_pkg_services_billing_service_test_testbillinglimitsenabled_requiresexplicittrue", + "community": 121, + "norm_label": "testbillinglimitsenabled_requiresexplicittrue()" + }, + { + "label": "TestBillingService_IsEntitledWithoutCreditLimits()", + "file_type": "code", + "source_file": "api/pkg/services/billing_service_test.go", + "source_location": "L24", + "_origin": "ast", + "id": "api_pkg_services_billing_service_test_testbillingservice_isentitledwithoutcreditlimits", + "community": 121, + "norm_label": "testbillingservice_isentitledwithoutcreditlimits()" + }, + { + "label": "discord_service.go", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_discord_service_go", + "community": 45, + "norm_label": "discord_service.go" + }, + { + "label": "DiscordService", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L23", + "_origin": "ast", + "id": "services_discordservice", + "community": 45, + "norm_label": "discordservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_discord_service_go_service", + "community": 611, + "norm_label": "service" + }, + { + "label": "NewDiscordService()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L33", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_discord_service_newdiscordservice", + "community": 45, + "norm_label": "newdiscordservice()" + }, + { + "label": ".GetByServerID()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L50", + "_origin": "ast", + "id": "services_discordservice_getbyserverid", + "community": 45, + "norm_label": ".getbyserverid()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_discord_service_go_context", + "community": 608, + "norm_label": "context" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L57", + "_origin": "ast", + "id": "services_discordservice_deleteallforuser", + "community": 45, + "norm_label": ".deleteallforuser()" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L70", + "_origin": "ast", + "id": "services_discordservice_index", + "community": 45, + "norm_label": ".index()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L86", + "_origin": "ast", + "id": "services_discordservice_delete", + "community": 45, + "norm_label": ".delete()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_discord_service_go_uuid", + "community": 612, + "norm_label": "uuid" + }, + { + "label": "DiscordStoreParams", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L105", + "_origin": "ast", + "id": "services_discordstoreparams", + "community": 187, + "norm_label": "discordstoreparams" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L113", + "_origin": "ast", + "id": "services_discordservice_store", + "community": 45, + "norm_label": ".store()" + }, + { + "label": ".createSlashCommand()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L139", + "_origin": "ast", + "id": "services_discordservice_createslashcommand", + "community": 45, + "norm_label": ".createslashcommand()" + }, + { + "label": "DiscordUpdateParams", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L183", + "_origin": "ast", + "id": "services_discordupdateparams", + "community": 45, + "norm_label": "discordupdateparams" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L192", + "_origin": "ast", + "id": "services_discordservice_update", + "community": 45, + "norm_label": ".update()" + }, + { + "label": ".HandleMessageReceived()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L218", + "_origin": "ast", + "id": "services_discordservice_handlemessagereceived", + "community": 45, + "norm_label": ".handlemessagereceived()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_discord_service_go_event", + "community": 609, + "norm_label": "event" + }, + { + "label": ".sendMessage()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L245", + "_origin": "ast", + "id": "services_discordservice_sendmessage", + "community": 45, + "norm_label": ".sendmessage()" + }, + { + "label": ".createDiscordMessage()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L282", + "_origin": "ast", + "id": "services_discordservice_creatediscordmessage", + "community": 45, + "norm_label": ".creatediscordmessage()" + }, + { + "label": "Map", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_discord_service_go_map", + "community": 610, + "norm_label": "map" + }, + { + "label": ".handleDiscordMessageFailed()", + "file_type": "code", + "source_file": "api/pkg/services/discord_service.go", + "source_location": "L312", + "_origin": "ast", + "id": "services_discordservice_handlediscordmessagefailed", + "community": 45, + "norm_label": ".handlediscordmessagefailed()" + }, + { + "label": "email_notification_service.go", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_email_notification_service_go", + "community": 97, + "norm_label": "email_notification_service.go" + }, + { + "label": "EmailNotificationService", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L18", + "_origin": "ast", + "id": "services_emailnotificationservice", + "community": 97, + "norm_label": "emailnotificationservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_email_notification_service_go_service", + "community": 615, + "norm_label": "service" + }, + { + "label": "NewEmailNotificationService()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L34", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_email_notification_service_newemailnotificationservice", + "community": 97, + "norm_label": "newemailnotificationservice()" + }, + { + "label": ".NotifyMessageExpired()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L53", + "_origin": "ast", + "id": "services_emailnotificationservice_notifymessageexpired", + "community": 97, + "norm_label": ".notifymessageexpired()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_email_notification_service_go_context", + "community": 613, + "norm_label": "context" + }, + { + "label": ".NotifyMessageFailed()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L93", + "_origin": "ast", + "id": "services_emailnotificationservice_notifymessagefailed", + "community": 97, + "norm_label": ".notifymessagefailed()" + }, + { + "label": ".NotifyWebhookSendFailed()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L128", + "_origin": "ast", + "id": "services_emailnotificationservice_notifywebhooksendfailed", + "community": 97, + "norm_label": ".notifywebhooksendfailed()" + }, + { + "label": ".NotifyDiscordSendFailed()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L163", + "_origin": "ast", + "id": "services_emailnotificationservice_notifydiscordsendfailed", + "community": 97, + "norm_label": ".notifydiscordsendfailed()" + }, + { + "label": ".getCacheKey()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L197", + "_origin": "ast", + "id": "services_emailnotificationservice_getcachekey", + "community": 97, + "norm_label": ".getcachekey()" + }, + { + "label": ".canSendEmail()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L201", + "_origin": "ast", + "id": "services_emailnotificationservice_cansendemail", + "community": 97, + "norm_label": ".cansendemail()" + }, + { + "label": ".addToCache()", + "file_type": "code", + "source_file": "api/pkg/services/email_notification_service.go", + "source_location": "L206", + "_origin": "ast", + "id": "services_emailnotificationservice_addtocache", + "community": 97, + "norm_label": ".addtocache()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_email_notification_service_go_duration", + "community": 614, + "norm_label": "duration" + }, + { + "label": "emulator_fcm_client.go", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_fcm_client_go", + "community": 164, + "norm_label": "emulator_fcm_client.go" + }, + { + "label": "EmulatorFCMClient", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L17", + "_origin": "ast", + "id": "services_emulatorfcmclient", + "community": 164, + "norm_label": "emulatorfcmclient" + }, + { + "label": "NewEmulatorFCMClient()", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_fcm_client_newemulatorfcmclient", + "community": 164, + "norm_label": "newemulatorfcmclient()" + }, + { + "label": "emulatorFCMRequest", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L33", + "_origin": "ast", + "id": "services_emulatorfcmrequest", + "community": 164, + "norm_label": "emulatorfcmrequest" + }, + { + "label": "emulatorFCMMessage", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L37", + "_origin": "ast", + "id": "services_emulatorfcmmessage", + "community": 164, + "norm_label": "emulatorfcmmessage" + }, + { + "label": "emulatorAndroid", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L43", + "_origin": "ast", + "id": "services_emulatorandroid", + "community": 164, + "norm_label": "emulatorandroid" + }, + { + "label": "emulatorFCMResponse", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L48", + "_origin": "ast", + "id": "services_emulatorfcmresponse", + "community": 164, + "norm_label": "emulatorfcmresponse" + }, + { + "label": ".Send()", + "file_type": "code", + "source_file": "api/pkg/services/emulator_fcm_client.go", + "source_location": "L53", + "_origin": "ast", + "id": "services_emulatorfcmclient_send", + "community": 164, + "norm_label": ".send()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_fcm_client_go_context", + "community": 616, + "norm_label": "context" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_fcm_client_go_message", + "community": 617, + "norm_label": "message" + }, + { + "label": "emulator_push_queue.go", + "file_type": "code", + "source_file": "api/pkg/services/emulator_push_queue.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_push_queue_go", + "community": 186, + "norm_label": "emulator_push_queue.go" + }, + { + "label": "emulatorPushQueue", + "file_type": "code", + "source_file": "api/pkg/services/emulator_push_queue.go", + "source_location": "L16", + "_origin": "ast", + "id": "services_emulatorpushqueue", + "community": 186, + "norm_label": "emulatorpushqueue" + }, + { + "label": "EmulatorPushQueue()", + "file_type": "code", + "source_file": "api/pkg/services/emulator_push_queue.go", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_push_queue_emulatorpushqueue", + "community": 186, + "norm_label": "emulatorpushqueue()" + }, + { + "label": ".Enqueue()", + "file_type": "code", + "source_file": "api/pkg/services/emulator_push_queue.go", + "source_location": "L39", + "_origin": "ast", + "id": "services_emulatorpushqueue_enqueue", + "community": 186, + "norm_label": ".enqueue()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_push_queue_go_context", + "community": 618, + "norm_label": "context" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_emulator_push_queue_go_duration", + "community": 619, + "norm_label": "duration" + }, + { + "label": ".push()", + "file_type": "code", + "source_file": "api/pkg/services/emulator_push_queue.go", + "source_location": "L57", + "_origin": "ast", + "id": "services_emulatorpushqueue_push", + "community": 186, + "norm_label": ".push()" + }, + { + "label": "entitlement_service.go", + "file_type": "code", + "source_file": "api/pkg/services/entitlement_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_entitlement_service_go", + "community": 60, + "norm_label": "entitlement_service.go" + }, + { + "label": "EntitlementCheckResult", + "file_type": "code", + "source_file": "api/pkg/services/entitlement_service.go", + "source_location": "L28", + "_origin": "ast", + "id": "services_entitlementcheckresult", + "community": 60, + "norm_label": "entitlementcheckresult" + }, + { + "label": "EntitlementService", + "file_type": "code", + "source_file": "api/pkg/services/entitlement_service.go", + "source_location": "L35", + "_origin": "ast", + "id": "services_entitlementservice", + "community": 60, + "norm_label": "entitlementservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_entitlement_service_go_service", + "community": 621, + "norm_label": "service" + }, + { + "label": "NewEntitlementService()", + "file_type": "code", + "source_file": "api/pkg/services/entitlement_service.go", + "source_location": "L45", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_entitlement_service_newentitlementservice", + "community": 60, + "norm_label": "newentitlementservice()" + }, + { + "label": ".Check()", + "file_type": "code", + "source_file": "api/pkg/services/entitlement_service.go", + "source_location": "L60", + "_origin": "ast", + "id": "services_entitlementservice_check", + "community": 60, + "norm_label": ".check()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_entitlement_service_go_context", + "community": 620, + "norm_label": "context" + }, + { + "label": "formatEntityName()", + "file_type": "code", + "source_file": "api/pkg/services/entitlement_service.go", + "source_location": "L116", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_entitlement_service_formatentityname", + "community": 60, + "norm_label": "formatentityname()" + }, + { + "label": "event_dispatcher_service.go", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_event_dispatcher_service_go", + "community": 41, + "norm_label": "event_dispatcher_service.go" + }, + { + "label": "EventDispatcher", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L23", + "_origin": "ast", + "id": "services_eventdispatcher", + "community": 41, + "norm_label": "eventdispatcher" + }, + { + "label": "Float64Histogram", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_event_dispatcher_service_go_float64histogram", + "community": 625, + "norm_label": "float64histogram" + }, + { + "label": "NewEventDispatcher()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L33", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_event_dispatcher_service_neweventdispatcher", + "community": 41, + "norm_label": "neweventdispatcher()" + }, + { + "label": ".DispatchSync()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L51", + "_origin": "ast", + "id": "services_eventdispatcher_dispatchsync", + "community": 41, + "norm_label": ".dispatchsync()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_event_dispatcher_service_go_context", + "community": 622, + "norm_label": "context" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_event_dispatcher_service_go_event", + "community": 624, + "norm_label": "event" + }, + { + "label": ".DispatchWithTimeout()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L64", + "_origin": "ast", + "id": "services_eventdispatcher_dispatchwithtimeout", + "community": 41, + "norm_label": ".dispatchwithtimeout()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_event_dispatcher_service_go_duration", + "community": 623, + "norm_label": "duration" + }, + { + "label": ".enqueue()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L84", + "_origin": "ast", + "id": "services_eventdispatcher_enqueue", + "community": 41, + "norm_label": ".enqueue()" + }, + { + "label": ".Dispatch()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L100", + "_origin": "ast", + "id": "services_eventdispatcher_dispatch", + "community": 41, + "norm_label": ".dispatch()" + }, + { + "label": ".Subscribe()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L108", + "_origin": "ast", + "id": "services_eventdispatcher_subscribe", + "community": 41, + "norm_label": ".subscribe()" + }, + { + "label": ".Publish()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L117", + "_origin": "ast", + "id": "services_eventdispatcher_publish", + "community": 41, + "norm_label": ".publish()" + }, + { + "label": ".addCloudEventAttributes()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L154", + "_origin": "ast", + "id": "services_eventdispatcher_addcloudeventattributes", + "community": 41, + "norm_label": ".addcloudeventattributes()" + }, + { + "label": "Span", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_event_dispatcher_service_go_span", + "community": 626, + "norm_label": "span" + }, + { + "label": ".createCloudTask()", + "file_type": "code", + "source_file": "api/pkg/services/event_dispatcher_service.go", + "source_location": "L163", + "_origin": "ast", + "id": "services_eventdispatcher_createcloudtask", + "community": 41, + "norm_label": ".createcloudtask()" + }, + { + "label": "fcm_client.go", + "file_type": "code", + "source_file": "api/pkg/services/fcm_client.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_fcm_client_go", + "community": 196, + "norm_label": "fcm_client.go" + }, + { + "label": "FCMClient", + "file_type": "code", + "source_file": "api/pkg/services/fcm_client.go", + "source_location": "L10", + "_origin": "ast", + "id": "services_fcmclient", + "community": 196, + "norm_label": "fcmclient" + }, + { + "label": "FirebaseFCMClient", + "file_type": "code", + "source_file": "api/pkg/services/fcm_client.go", + "source_location": "L16", + "_origin": "ast", + "id": "services_firebasefcmclient", + "community": 196, + "norm_label": "firebasefcmclient" + }, + { + "label": "NewFirebaseFCMClient()", + "file_type": "code", + "source_file": "api/pkg/services/fcm_client.go", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_fcm_client_newfirebasefcmclient", + "community": 196, + "norm_label": "newfirebasefcmclient()" + }, + { + "label": ".Send()", + "file_type": "code", + "source_file": "api/pkg/services/fcm_client.go", + "source_location": "L26", + "_origin": "ast", + "id": "services_firebasefcmclient_send", + "community": 196, + "norm_label": ".send()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_fcm_client_go_context", + "community": 627, + "norm_label": "context" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_fcm_client_go_message", + "community": 628, + "norm_label": "message" + }, + { + "label": "google_cloud_push_queue_service.go", + "file_type": "code", + "source_file": "api/pkg/services/google_cloud_push_queue_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_google_cloud_push_queue_service_go", + "community": 124, + "norm_label": "google_cloud_push_queue_service.go" + }, + { + "label": "googlePushQueue", + "file_type": "code", + "source_file": "api/pkg/services/google_cloud_push_queue_service.go", + "source_location": "L18", + "_origin": "ast", + "id": "services_googlepushqueue", + "community": 124, + "norm_label": "googlepushqueue" + }, + { + "label": "NewGooglePushQueue()", + "file_type": "code", + "source_file": "api/pkg/services/google_cloud_push_queue_service.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_google_cloud_push_queue_service_newgooglepushqueue", + "community": 124, + "norm_label": "newgooglepushqueue()" + }, + { + "label": ".Enqueue()", + "file_type": "code", + "source_file": "api/pkg/services/google_cloud_push_queue_service.go", + "source_location": "L41", + "_origin": "ast", + "id": "services_googlepushqueue_enqueue", + "community": 124, + "norm_label": ".enqueue()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_google_cloud_push_queue_service_go_context", + "community": 629, + "norm_label": "context" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_google_cloud_push_queue_service_go_duration", + "community": 630, + "norm_label": "duration" + }, + { + "label": ".enqueueImpl()", + "file_type": "code", + "source_file": "api/pkg/services/google_cloud_push_queue_service.go", + "source_location": "L50", + "_origin": "ast", + "id": "services_googlepushqueue_enqueueimpl", + "community": 124, + "norm_label": ".enqueueimpl()" + }, + { + "label": ".httpMethodToProtoHTTPMethod()", + "file_type": "code", + "source_file": "api/pkg/services/google_cloud_push_queue_service.go", + "source_location": "L98", + "_origin": "ast", + "id": "services_googlepushqueue_httpmethodtoprotohttpmethod", + "community": 124, + "norm_label": ".httpmethodtoprotohttpmethod()" + }, + { + "label": "HttpMethod", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "httpmethod", + "community": 124, + "norm_label": "httpmethod" + }, + { + "label": "heartbeat_service.go", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_heartbeat_service_go", + "community": 48, + "norm_label": "heartbeat_service.go" + }, + { + "label": "HeartbeatService", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L26", + "_origin": "ast", + "id": "services_heartbeatservice", + "community": 48, + "norm_label": "heartbeatservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_heartbeat_service_go_service", + "community": 633, + "norm_label": "service" + }, + { + "label": "NewHeartbeatService()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L36", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_heartbeat_service_newheartbeatservice", + "community": 48, + "norm_label": "newheartbeatservice()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L53", + "_origin": "ast", + "id": "services_heartbeatservice_deleteallforuser", + "community": 48, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_heartbeat_service_go_context", + "community": 631, + "norm_label": "context" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L70", + "_origin": "ast", + "id": "services_heartbeatservice_index", + "community": 48, + "norm_label": ".index()" + }, + { + "label": "HeartbeatStoreParams", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L86", + "_origin": "ast", + "id": "services_heartbeatstoreparams", + "community": 48, + "norm_label": "heartbeatstoreparams" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_heartbeat_service_go_time", + "community": 634, + "norm_label": "time" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L96", + "_origin": "ast", + "id": "services_heartbeatservice_store", + "community": 48, + "norm_label": ".store()" + }, + { + "label": "HeartbeatMonitorStoreParams", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L136", + "_origin": "ast", + "id": "services_heartbeatmonitorstoreparams", + "community": 48, + "norm_label": "heartbeatmonitorstoreparams" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_heartbeat_service_go_uuid", + "community": 635, + "norm_label": "uuid" + }, + { + "label": ".handleHeartbeatWhenPhoneWasOffline()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L143", + "_origin": "ast", + "id": "services_heartbeatservice_handleheartbeatwhenphonewasoffline", + "community": 48, + "norm_label": ".handleheartbeatwhenphonewasoffline()" + }, + { + "label": ".StoreMonitor()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L174", + "_origin": "ast", + "id": "services_heartbeatservice_storemonitor", + "community": 48, + "norm_label": ".storemonitor()" + }, + { + "label": ".phoneMonitor()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L204", + "_origin": "ast", + "id": "services_heartbeatservice_phonemonitor", + "community": 48, + "norm_label": ".phonemonitor()" + }, + { + "label": ".DeleteMonitor()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L236", + "_origin": "ast", + "id": "services_heartbeatservice_deletemonitor", + "community": 48, + "norm_label": ".deletemonitor()" + }, + { + "label": ".UpdatePhoneOnline()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L251", + "_origin": "ast", + "id": "services_heartbeatservice_updatephoneonline", + "community": 48, + "norm_label": ".updatephoneonline()" + }, + { + "label": "HeartbeatMonitorParams", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L266", + "_origin": "ast", + "id": "services_heartbeatmonitorparams", + "community": 48, + "norm_label": "heartbeatmonitorparams" + }, + { + "label": ".Monitor()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L275", + "_origin": "ast", + "id": "services_heartbeatservice_monitor", + "community": 48, + "norm_label": ".monitor()" + }, + { + "label": ".handleMissedMonitor()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L316", + "_origin": "ast", + "id": "services_heartbeatservice_handlemissedmonitor", + "community": 48, + "norm_label": ".handlemissedmonitor()" + }, + { + "label": ".handleFailedMonitor()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L338", + "_origin": "ast", + "id": "services_heartbeatservice_handlefailedmonitor", + "community": 48, + "norm_label": ".handlefailedmonitor()" + }, + { + "label": ".scheduleHeartbeatCheck()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L367", + "_origin": "ast", + "id": "services_heartbeatservice_scheduleheartbeatcheck", + "community": 48, + "norm_label": ".scheduleheartbeatcheck()" + }, + { + "label": ".createPhoneHeartbeatMissedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L396", + "_origin": "ast", + "id": "services_heartbeatservice_createphoneheartbeatmissedevent", + "community": 48, + "norm_label": ".createphoneheartbeatmissedevent()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_heartbeat_service_go_event", + "community": 632, + "norm_label": "event" + }, + { + "label": ".createPhoneHeartbeatOfflineEvent()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L400", + "_origin": "ast", + "id": "services_heartbeatservice_createphoneheartbeatofflineevent", + "community": 48, + "norm_label": ".createphoneheartbeatofflineevent()" + }, + { + "label": ".createPhoneHeartbeatCheckEvent()", + "file_type": "code", + "source_file": "api/pkg/services/heartbeat_service.go", + "source_location": "L404", + "_origin": "ast", + "id": "services_heartbeatservice_createphoneheartbeatcheckevent", + "community": 48, + "norm_label": ".createphoneheartbeatcheckevent()" + }, + { + "label": "integration_3cx_service.go", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_integration_3cx_service_go", + "community": 23, + "norm_label": "integration_3cx_service.go" + }, + { + "label": "Integration3CXService", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L23", + "_origin": "ast", + "id": "services_integration3cxservice", + "community": 23, + "norm_label": "integration3cxservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_integration_3cx_service_go_service", + "community": 639, + "norm_label": "service" + }, + { + "label": "NewIntegration3CXService()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L32", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_integration_3cx_service_newintegration3cxservice", + "community": 23, + "norm_label": "newintegration3cxservice()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L47", + "_origin": "ast", + "id": "services_integration3cxservice_deleteallforuser", + "community": 23, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_integration_3cx_service_go_context", + "community": 636, + "norm_label": "context" + }, + { + "label": ".Send()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L60", + "_origin": "ast", + "id": "services_integration3cxservice_send", + "community": 23, + "norm_label": ".send()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_integration_3cx_service_go_event", + "community": 637, + "norm_label": "event" + }, + { + "label": ".sendNotification()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L78", + "_origin": "ast", + "id": "services_integration3cxservice_sendnotification", + "community": 23, + "norm_label": ".sendnotification()" + }, + { + "label": ".getPayload()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L127", + "_origin": "ast", + "id": "services_integration3cxservice_getpayload", + "community": 23, + "norm_label": ".getpayload()" + }, + { + "label": "Map", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_integration_3cx_service_go_map", + "community": 638, + "norm_label": "map" + }, + { + "label": ".getEventDeliveredPayload()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L142", + "_origin": "ast", + "id": "services_integration3cxservice_geteventdeliveredpayload", + "community": 23, + "norm_label": ".geteventdeliveredpayload()" + }, + { + "label": ".getMessageSentPayload()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L172", + "_origin": "ast", + "id": "services_integration3cxservice_getmessagesentpayload", + "community": 23, + "norm_label": ".getmessagesentpayload()" + }, + { + "label": ".getMessageSendFailedPayload()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L202", + "_origin": "ast", + "id": "services_integration3cxservice_getmessagesendfailedpayload", + "community": 23, + "norm_label": ".getmessagesendfailedpayload()" + }, + { + "label": ".getMessageReceivedPayload()", + "file_type": "code", + "source_file": "api/pkg/services/integration_3cx_service.go", + "source_location": "L232", + "_origin": "ast", + "id": "services_integration3cxservice_getmessagereceivedpayload", + "community": 23, + "norm_label": ".getmessagereceivedpayload()" + }, + { + "label": "lemonsqueezy_service.go", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_lemonsqueezy_service_go", + "community": 165, + "norm_label": "lemonsqueezy_service.go" + }, + { + "label": "LemonsqueezyService", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L19", + "_origin": "ast", + "id": "services_lemonsqueezyservice", + "community": 165, + "norm_label": "lemonsqueezyservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_lemonsqueezy_service_go_service", + "community": 641, + "norm_label": "service" + }, + { + "label": "NewLemonsqueezyService()", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L28", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_lemonsqueezy_service_newlemonsqueezyservice", + "community": 165, + "norm_label": "newlemonsqueezyservice()" + }, + { + "label": ".GetUserID()", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L43", + "_origin": "ast", + "id": "services_lemonsqueezyservice_getuserid", + "community": 165, + "norm_label": ".getuserid()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_lemonsqueezy_service_go_context", + "community": 640, + "norm_label": "context" + }, + { + "label": "WebhookRequestSubscription", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "webhookrequestsubscription", + "community": 165, + "norm_label": "webhookrequestsubscription" + }, + { + "label": ".HandleSubscriptionCreatedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L62", + "_origin": "ast", + "id": "services_lemonsqueezyservice_handlesubscriptioncreatedevent", + "community": 165, + "norm_label": ".handlesubscriptioncreatedevent()" + }, + { + "label": ".HandleSubscriptionCanceledEvent()", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L93", + "_origin": "ast", + "id": "services_lemonsqueezyservice_handlesubscriptioncanceledevent", + "community": 165, + "norm_label": ".handlesubscriptioncanceledevent()" + }, + { + "label": ".HandleSubscriptionUpdatedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L124", + "_origin": "ast", + "id": "services_lemonsqueezyservice_handlesubscriptionupdatedevent", + "community": 165, + "norm_label": ".handlesubscriptionupdatedevent()" + }, + { + "label": ".HandleSubscriptionExpiredEvent()", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L161", + "_origin": "ast", + "id": "services_lemonsqueezyservice_handlesubscriptionexpiredevent", + "community": 165, + "norm_label": ".handlesubscriptionexpiredevent()" + }, + { + "label": ".subscriptionName()", + "file_type": "code", + "source_file": "api/pkg/services/lemonsqueezy_service.go", + "source_location": "L192", + "_origin": "ast", + "id": "services_lemonsqueezyservice_subscriptionname", + "community": 165, + "norm_label": ".subscriptionname()" + }, + { + "label": "marketting_service.go", + "file_type": "code", + "source_file": "api/pkg/services/marketting_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_marketting_service_go", + "community": 128, + "norm_label": "marketting_service.go" + }, + { + "label": "MarketingService", + "file_type": "code", + "source_file": "api/pkg/services/marketting_service.go", + "source_location": "L19", + "_origin": "ast", + "id": "services_marketingservice", + "community": 128, + "norm_label": "marketingservice" + }, + { + "label": "NewMarketingService()", + "file_type": "code", + "source_file": "api/pkg/services/marketting_service.go", + "source_location": "L27", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_marketting_service_newmarketingservice", + "community": 128, + "norm_label": "newmarketingservice()" + }, + { + "label": ".DeleteContact()", + "file_type": "code", + "source_file": "api/pkg/services/marketting_service.go", + "source_location": "L42", + "_origin": "ast", + "id": "services_marketingservice_deletecontact", + "community": 128, + "norm_label": ".deletecontact()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_marketting_service_go_context", + "community": 642, + "norm_label": "context" + }, + { + "label": ".CreateContact()", + "file_type": "code", + "source_file": "api/pkg/services/marketting_service.go", + "source_location": "L66", + "_origin": "ast", + "id": "services_marketingservice_createcontact", + "community": 128, + "norm_label": ".createcontact()" + }, + { + "label": ".attributes()", + "file_type": "code", + "source_file": "api/pkg/services/marketting_service.go", + "source_location": "L93", + "_origin": "ast", + "id": "services_marketingservice_attributes", + "community": 128, + "norm_label": ".attributes()" + }, + { + "label": "UserRecord", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "userrecord", + "community": 128, + "norm_label": "userrecord" + }, + { + "label": "message_send_schedule_service.go", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_send_schedule_service_go", + "community": 54, + "norm_label": "message_send_schedule_service.go" + }, + { + "label": "MessageSendScheduleService", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L18", + "_origin": "ast", + "id": "services_messagesendscheduleservice", + "community": 54, + "norm_label": "messagesendscheduleservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_send_schedule_service_go_service", + "community": 645, + "norm_label": "service" + }, + { + "label": "NewMessageSendScheduleService()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L27", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_send_schedule_service_newmessagesendscheduleservice", + "community": 54, + "norm_label": "newmessagesendscheduleservice()" + }, + { + "label": "MessageSendScheduleUpsertParams", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L42", + "_origin": "ast", + "id": "services_messagesendscheduleupsertparams", + "community": 54, + "norm_label": "messagesendscheduleupsertparams" + }, + { + "label": "MessageSendScheduleWindow", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_send_schedule_service_go_messagesendschedulewindow", + "community": 644, + "norm_label": "messagesendschedulewindow" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L50", + "_origin": "ast", + "id": "services_messagesendscheduleservice_index", + "community": 54, + "norm_label": ".index()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_send_schedule_service_go_context", + "community": 643, + "norm_label": "context" + }, + { + "label": ".CountByUser()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L58", + "_origin": "ast", + "id": "services_messagesendscheduleservice_countbyuser", + "community": 54, + "norm_label": ".countbyuser()" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L66", + "_origin": "ast", + "id": "services_messagesendscheduleservice_load", + "community": 54, + "norm_label": ".load()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_send_schedule_service_go_uuid", + "community": 646, + "norm_label": "uuid" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L75", + "_origin": "ast", + "id": "services_messagesendscheduleservice_store", + "community": 54, + "norm_label": ".store()" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L106", + "_origin": "ast", + "id": "services_messagesendscheduleservice_update", + "community": 54, + "norm_label": ".update()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L139", + "_origin": "ast", + "id": "services_messagesendscheduleservice_delete", + "community": 54, + "norm_label": ".delete()" + }, + { + "label": "sanitizeWindows()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L168", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_send_schedule_service_sanitizewindows", + "community": 54, + "norm_label": "sanitizewindows()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/message_send_schedule_service.go", + "source_location": "L192", + "_origin": "ast", + "id": "services_messagesendscheduleservice_deleteallforuser", + "community": 54, + "norm_label": ".deleteallforuser()" + }, + { + "label": "message_service.go", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go", + "community": 61, + "norm_label": "message_service.go" + }, + { + "label": "ServiceAttachment", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L25", + "_origin": "ast", + "id": "services_serviceattachment", + "community": 61, + "norm_label": "serviceattachment" + }, + { + "label": "MessageService", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L32", + "_origin": "ast", + "id": "services_messageservice", + "community": 68, + "norm_label": "messageservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_service", + "community": 653, + "norm_label": "service" + }, + { + "label": "NewMessageService()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L44", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_newmessageservice", + "community": 61, + "norm_label": "newmessageservice()" + }, + { + "label": "MessageGetOutstandingParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L65", + "_origin": "ast", + "id": "services_messagegetoutstandingparams", + "community": 116, + "norm_label": "messagegetoutstandingparams" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_time", + "community": 655, + "norm_label": "time" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_uuid", + "community": 656, + "norm_label": "uuid" + }, + { + "label": ".GetOutstanding()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L74", + "_origin": "ast", + "id": "services_messageservice_getoutstanding", + "community": 116, + "norm_label": ".getoutstanding()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_context", + "community": 648, + "norm_label": "context" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_message", + "community": 651, + "norm_label": "message" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L110", + "_origin": "ast", + "id": "services_messageservice_deleteallforuser", + "community": 68, + "norm_label": ".deleteallforuser()" + }, + { + "label": ".GetBulkMessages()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L123", + "_origin": "ast", + "id": "services_messageservice_getbulkmessages", + "community": 68, + "norm_label": ".getbulkmessages()" + }, + { + "label": "BulkMessage", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_bulkmessage", + "community": 647, + "norm_label": "bulkmessage" + }, + { + "label": ".DeleteMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L137", + "_origin": "ast", + "id": "services_messageservice_deletemessage", + "community": 68, + "norm_label": ".deletemessage()" + }, + { + "label": ".DeleteByOwnerAndContact()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L185", + "_origin": "ast", + "id": "services_messageservice_deletebyownerandcontact", + "community": 68, + "norm_label": ".deletebyownerandcontact()" + }, + { + "label": ".RespondToMissedCall()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L200", + "_origin": "ast", + "id": "services_messageservice_respondtomissedcall", + "community": 157, + "norm_label": ".respondtomissedcall()" + }, + { + "label": "MessageGetParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L236", + "_origin": "ast", + "id": "services_messagegetparams", + "community": 139, + "norm_label": "messagegetparams" + }, + { + "label": ".GetMessages()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L244", + "_origin": "ast", + "id": "services_messageservice_getmessages", + "community": 139, + "norm_label": ".getmessages()" + }, + { + "label": ".GetMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L260", + "_origin": "ast", + "id": "services_messageservice_getmessage", + "community": 68, + "norm_label": ".getmessage()" + }, + { + "label": "MessageStoreEventParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L273", + "_origin": "ast", + "id": "services_messagestoreeventparams", + "community": 15, + "norm_label": "messagestoreeventparams" + }, + { + "label": ".StoreEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L282", + "_origin": "ast", + "id": "services_messageservice_storeevent", + "community": 15, + "norm_label": ".storeevent()" + }, + { + "label": "MessageReceiveParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L307", + "_origin": "ast", + "id": "services_messagereceiveparams", + "community": 61, + "norm_label": "messagereceiveparams" + }, + { + "label": "PhoneNumber", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_phonenumber", + "community": 652, + "norm_label": "phonenumber" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_sim", + "community": 654, + "norm_label": "sim" + }, + { + "label": ".ReceiveMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L320", + "_origin": "ast", + "id": "services_messageservice_receivemessage", + "community": 68, + "norm_label": ".receivemessage()" + }, + { + "label": ".handleMessageSentEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L365", + "_origin": "ast", + "id": "services_messageservice_handlemessagesentevent", + "community": 15, + "norm_label": ".handlemessagesentevent()" + }, + { + "label": ".handleMessageDeliveredEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L390", + "_origin": "ast", + "id": "services_messageservice_handlemessagedeliveredevent", + "community": 15, + "norm_label": ".handlemessagedeliveredevent()" + }, + { + "label": ".handleMessageFailedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L415", + "_origin": "ast", + "id": "services_messageservice_handlemessagefailedevent", + "community": 15, + "norm_label": ".handlemessagefailedevent()" + }, + { + "label": "MessageSendParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L447", + "_origin": "ast", + "id": "services_messagesendparams", + "community": 245, + "norm_label": "messagesendparams" + }, + { + "label": ".SendMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L462", + "_origin": "ast", + "id": "services_messageservice_sendmessage", + "community": 245, + "norm_label": ".sendmessage()" + }, + { + "label": "MissedCallParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L507", + "_origin": "ast", + "id": "services_missedcallparams", + "community": 157, + "norm_label": "missedcallparams" + }, + { + "label": ".RegisterMissedCall()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L517", + "_origin": "ast", + "id": "services_messageservice_registermissedcall", + "community": 157, + "norm_label": ".registermissedcall()" + }, + { + "label": ".getSendDelay()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L552", + "_origin": "ast", + "id": "services_messageservice_getsenddelay", + "community": 245, + "norm_label": ".getsenddelay()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_duration", + "community": 649, + "norm_label": "duration" + }, + { + "label": ".storeReceivedMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L573", + "_origin": "ast", + "id": "services_messageservice_storereceivedmessage", + "community": 68, + "norm_label": ".storereceivedmessage()" + }, + { + "label": ".uploadAttachments()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L605", + "_origin": "ast", + "id": "services_messageservice_uploadattachments", + "community": 72, + "norm_label": ".uploadattachments()" + }, + { + "label": "HandleMessageParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L655", + "_origin": "ast", + "id": "services_handlemessageparams", + "community": 68, + "norm_label": "handlemessageparams" + }, + { + "label": ".HandleMessageSending()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L663", + "_origin": "ast", + "id": "services_messageservice_handlemessagesending", + "community": 68, + "norm_label": ".handlemessagesending()" + }, + { + "label": ".HandleMessageSent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L687", + "_origin": "ast", + "id": "services_messageservice_handlemessagesent", + "community": 68, + "norm_label": ".handlemessagesent()" + }, + { + "label": "HandleMessageFailedParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L716", + "_origin": "ast", + "id": "services_handlemessagefailedparams", + "community": 61, + "norm_label": "handlemessagefailedparams" + }, + { + "label": ".HandleMessageFailed()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L724", + "_origin": "ast", + "id": "services_messageservice_handlemessagefailed", + "community": 61, + "norm_label": ".handlemessagefailed()" + }, + { + "label": ".HandleMessageDelivered()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L748", + "_origin": "ast", + "id": "services_messageservice_handlemessagedelivered", + "community": 68, + "norm_label": ".handlemessagedelivered()" + }, + { + "label": ".HandleMessageNotificationScheduled()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L773", + "_origin": "ast", + "id": "services_messageservice_handlemessagenotificationscheduled", + "community": 68, + "norm_label": ".handlemessagenotificationscheduled()" + }, + { + "label": ".HandleMessageNotificationSent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L797", + "_origin": "ast", + "id": "services_messageservice_handlemessagenotificationsent", + "community": 68, + "norm_label": ".handlemessagenotificationsent()" + }, + { + "label": ".HandleMessageExpired()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L817", + "_origin": "ast", + "id": "services_messageservice_handlemessageexpired", + "community": 68, + "norm_label": ".handlemessageexpired()" + }, + { + "label": "MessageScheduleExpirationParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L865", + "_origin": "ast", + "id": "services_messagescheduleexpirationparams", + "community": 198, + "norm_label": "messagescheduleexpirationparams" + }, + { + "label": ".ScheduleExpirationCheck()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L875", + "_origin": "ast", + "id": "services_messageservice_scheduleexpirationcheck", + "community": 198, + "norm_label": ".scheduleexpirationcheck()" + }, + { + "label": "MessageCheckExpired", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L904", + "_origin": "ast", + "id": "services_messagecheckexpired", + "community": 61, + "norm_label": "messagecheckexpired" + }, + { + "label": ".CheckExpired()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L911", + "_origin": "ast", + "id": "services_messageservice_checkexpired", + "community": 61, + "norm_label": ".checkexpired()" + }, + { + "label": "MessageSearchParams", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L958", + "_origin": "ast", + "id": "services_messagesearchparams", + "community": 61, + "norm_label": "messagesearchparams" + }, + { + "label": ".SearchMessages()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L967", + "_origin": "ast", + "id": "services_messageservice_searchmessages", + "community": 61, + "norm_label": ".searchmessages()" + }, + { + "label": ".phoneSettings()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L982", + "_origin": "ast", + "id": "services_messageservice_phonesettings", + "community": 245, + "norm_label": ".phonesettings()" + }, + { + "label": ".storeSentMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L998", + "_origin": "ast", + "id": "services_messageservice_storesentmessage", + "community": 245, + "norm_label": ".storesentmessage()" + }, + { + "label": ".storeMissedCallMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1038", + "_origin": "ast", + "id": "services_messageservice_storemissedcallmessage", + "community": 157, + "norm_label": ".storemissedcallmessage()" + }, + { + "label": ".enrichErrorMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1066", + "_origin": "ast", + "id": "services_messageservice_enricherrormessage", + "community": 15, + "norm_label": ".enricherrormessage()" + }, + { + "label": ".createMessageSendExpiredEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1073", + "_origin": "ast", + "id": "services_messageservice_createmessagesendexpiredevent", + "community": 61, + "norm_label": ".createmessagesendexpiredevent()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_go_event", + "community": 650, + "norm_label": "event" + }, + { + "label": ".createMessageSendExpiredCheckEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1077", + "_origin": "ast", + "id": "services_messageservice_createmessagesendexpiredcheckevent", + "community": 198, + "norm_label": ".createmessagesendexpiredcheckevent()" + }, + { + "label": ".createMessageAPISentEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1081", + "_origin": "ast", + "id": "services_messageservice_createmessageapisentevent", + "community": 245, + "norm_label": ".createmessageapisentevent()" + }, + { + "label": ".createMessagePhoneReceivedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1085", + "_origin": "ast", + "id": "services_messageservice_createmessagephonereceivedevent", + "community": 68, + "norm_label": ".createmessagephonereceivedevent()" + }, + { + "label": ".createMessagePhoneSendingEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1089", + "_origin": "ast", + "id": "services_messageservice_createmessagephonesendingevent", + "community": 116, + "norm_label": ".createmessagephonesendingevent()" + }, + { + "label": ".createMessagePhoneSentEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1093", + "_origin": "ast", + "id": "services_messageservice_createmessagephonesentevent", + "community": 15, + "norm_label": ".createmessagephonesentevent()" + }, + { + "label": ".createMessageSendFailedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1097", + "_origin": "ast", + "id": "services_messageservice_createmessagesendfailedevent", + "community": 15, + "norm_label": ".createmessagesendfailedevent()" + }, + { + "label": ".createMessagePhoneDeliveredEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1101", + "_origin": "ast", + "id": "services_messageservice_createmessagephonedeliveredevent", + "community": 15, + "norm_label": ".createmessagephonedeliveredevent()" + }, + { + "label": ".createMessageSendRetryEvent()", + "file_type": "code", + "source_file": "api/pkg/services/message_service.go", + "source_location": "L1105", + "_origin": "ast", + "id": "services_messageservice_createmessagesendretryevent", + "community": 68, + "norm_label": ".createmessagesendretryevent()" + }, + { + "label": "message_service_test.go", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_go", + "community": 87, + "norm_label": "message_service_test.go" + }, + { + "label": "TestGetSendDelay_WithSendAt_ReturnsTimeUntil()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L14", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_testgetsenddelay_withsendat_returnstimeuntil", + "community": 87, + "norm_label": "testgetsenddelay_withsendat_returnstimeuntil()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_go_t", + "community": 658, + "norm_label": "t" + }, + { + "label": "TestGetSendDelay_WithSendAtInPast_ReturnsZero()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L28", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_testgetsenddelay_withsendatinpast_returnszero", + "community": 87, + "norm_label": "testgetsenddelay_withsendatinpast_returnszero()" + }, + { + "label": "TestGetSendDelay_BulkIndex_RateBasedDelay()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L41", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_testgetsenddelay_bulkindex_ratebaseddelay", + "community": 87, + "norm_label": "testgetsenddelay_bulkindex_ratebaseddelay()" + }, + { + "label": "TestGetSendDelay_BulkIndex_ZeroRate_ReturnsZero()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L55", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_testgetsenddelay_bulkindex_zerorate_returnszero", + "community": 87, + "norm_label": "testgetsenddelay_bulkindex_zerorate_returnszero()" + }, + { + "label": "TestGetSendDelay_IndexZero_ReturnsZero()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L67", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_testgetsenddelay_indexzero_returnszero", + "community": 87, + "norm_label": "testgetsenddelay_indexzero_returnszero()" + }, + { + "label": "TestGetSendDelay_NoSendAtNoIndex_ReturnsZero()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L79", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_testgetsenddelay_nosendatnoindex_returnszero", + "community": 87, + "norm_label": "testgetsenddelay_nosendatnoindex_returnszero()" + }, + { + "label": "noopLogger", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L92", + "_origin": "ast", + "id": "services_nooplogger", + "community": 98, + "norm_label": "nooplogger" + }, + { + "label": ".Error()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L96", + "_origin": "ast", + "id": "services_nooplogger_error", + "community": 98, + "norm_label": ".error()" + }, + { + "label": ".WithService()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L97", + "_origin": "ast", + "id": "services_nooplogger_withservice", + "community": 98, + "norm_label": ".withservice()" + }, + { + "label": ".WithString()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L98", + "_origin": "ast", + "id": "services_nooplogger_withstring", + "community": 98, + "norm_label": ".withstring()" + }, + { + "label": ".WithSpan()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L99", + "_origin": "ast", + "id": "services_nooplogger_withspan", + "community": 98, + "norm_label": ".withspan()" + }, + { + "label": "SpanContext", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_service_test_go_spancontext", + "community": 657, + "norm_label": "spancontext" + }, + { + "label": ".Trace()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L100", + "_origin": "ast", + "id": "services_nooplogger_trace", + "community": 98, + "norm_label": ".trace()" + }, + { + "label": ".Info()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L101", + "_origin": "ast", + "id": "services_nooplogger_info", + "community": 98, + "norm_label": ".info()" + }, + { + "label": ".Warn()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L102", + "_origin": "ast", + "id": "services_nooplogger_warn", + "community": 98, + "norm_label": ".warn()" + }, + { + "label": ".Debug()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L103", + "_origin": "ast", + "id": "services_nooplogger_debug", + "community": 98, + "norm_label": ".debug()" + }, + { + "label": ".Fatal()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L104", + "_origin": "ast", + "id": "services_nooplogger_fatal", + "community": 98, + "norm_label": ".fatal()" + }, + { + "label": ".Printf()", + "file_type": "code", + "source_file": "api/pkg/services/message_service_test.go", + "source_location": "L105", + "_origin": "ast", + "id": "services_nooplogger_printf", + "community": 98, + "norm_label": ".printf()" + }, + { + "label": "message_thread_service.go", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_go", + "community": 5, + "norm_label": "message_thread_service.go" + }, + { + "label": "MessageThreadService", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L19", + "_origin": "ast", + "id": "services_messagethreadservice", + "community": 5, + "norm_label": "messagethreadservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_go_service", + "community": 660, + "norm_label": "service" + }, + { + "label": "NewMessageThreadService()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_newmessagethreadservice", + "community": 5, + "norm_label": "newmessagethreadservice()" + }, + { + "label": "MessageThreadUpdateParams", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L46", + "_origin": "ast", + "id": "services_messagethreadupdateparams", + "community": 5, + "norm_label": "messagethreadupdateparams" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_go_uuid", + "community": 662, + "norm_label": "uuid" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_go_time", + "community": 661, + "norm_label": "time" + }, + { + "label": ".shouldCheckUnarchive()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L60", + "_origin": "ast", + "id": "services_messagethreadservice_shouldcheckunarchive", + "community": 5, + "norm_label": ".shouldcheckunarchive()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L65", + "_origin": "ast", + "id": "services_messagethreadservice_deleteallforuser", + "community": 5, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_go_context", + "community": 659, + "norm_label": "context" + }, + { + "label": ".UpdateThread()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L78", + "_origin": "ast", + "id": "services_messagethreadservice_updatethread", + "community": 5, + "norm_label": ".updatethread()" + }, + { + "label": "MessageThreadStatusParams", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L123", + "_origin": "ast", + "id": "services_messagethreadstatusparams", + "community": 107, + "norm_label": "messagethreadstatusparams" + }, + { + "label": ".UpdateStatus()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L130", + "_origin": "ast", + "id": "services_messagethreadservice_updatestatus", + "community": 107, + "norm_label": ".updatestatus()" + }, + { + "label": ".UpdateAfterDeletedMessage()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L150", + "_origin": "ast", + "id": "services_messagethreadservice_updateafterdeletedmessage", + "community": 206, + "norm_label": ".updateafterdeletedmessage()" + }, + { + "label": ".createThread()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L188", + "_origin": "ast", + "id": "services_messagethreadservice_createthread", + "community": 5, + "norm_label": ".createthread()" + }, + { + "label": ".getColor()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L224", + "_origin": "ast", + "id": "services_messagethreadservice_getcolor", + "community": 5, + "norm_label": ".getcolor()" + }, + { + "label": "MessageThreadGetParams", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L249", + "_origin": "ast", + "id": "services_messagethreadgetparams", + "community": 137, + "norm_label": "messagethreadgetparams" + }, + { + "label": ".GetThreads()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L257", + "_origin": "ast", + "id": "services_messagethreadservice_getthreads", + "community": 137, + "norm_label": ".getthreads()" + }, + { + "label": ".GetThread()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L273", + "_origin": "ast", + "id": "services_messagethreadservice_getthread", + "community": 5, + "norm_label": ".getthread()" + }, + { + "label": ".DeleteThread()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service.go", + "source_location": "L286", + "_origin": "ast", + "id": "services_messagethreadservice_deletethread", + "community": 5, + "norm_label": ".deletethread()" + }, + { + "label": "message_thread_service_test.go", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_test_go", + "community": 291, + "norm_label": "message_thread_service_test.go" + }, + { + "label": "TestShouldCheckUnarchive()", + "file_type": "code", + "source_file": "api/pkg/services/message_thread_service_test.go", + "source_location": "L10", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_test_testshouldcheckunarchive", + "community": 291, + "norm_label": "testshouldcheckunarchive()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_message_thread_service_test_go_t", + "community": 663, + "norm_label": "t" + }, + { + "label": "phone_api_key_service.go", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_api_key_service_go", + "community": 75, + "norm_label": "phone_api_key_service.go" + }, + { + "label": "PhoneAPIKeyService", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L20", + "_origin": "ast", + "id": "services_phoneapikeyservice", + "community": 75, + "norm_label": "phoneapikeyservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_api_key_service_go_service", + "community": 665, + "norm_label": "service" + }, + { + "label": "NewPhoneAPIKeyService()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_api_key_service_newphoneapikeyservice", + "community": 75, + "norm_label": "newphoneapikeyservice()" + }, + { + "label": ".CountByUser()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L44", + "_origin": "ast", + "id": "services_phoneapikeyservice_countbyuser", + "community": 75, + "norm_label": ".countbyuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_api_key_service_go_context", + "community": 664, + "norm_label": "context" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L52", + "_origin": "ast", + "id": "services_phoneapikeyservice_index", + "community": 75, + "norm_label": ".index()" + }, + { + "label": ".Create()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L66", + "_origin": "ast", + "id": "services_phoneapikeyservice_create", + "community": 75, + "norm_label": ".create()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L96", + "_origin": "ast", + "id": "services_phoneapikeyservice_delete", + "community": 75, + "norm_label": ".delete()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_api_key_service_go_uuid", + "community": 666, + "norm_label": "uuid" + }, + { + "label": ".RemovePhone()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L114", + "_origin": "ast", + "id": "services_phoneapikeyservice_removephone", + "community": 75, + "norm_label": ".removephone()" + }, + { + "label": ".RemovePhoneByID()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L137", + "_origin": "ast", + "id": "services_phoneapikeyservice_removephonebyid", + "community": 75, + "norm_label": ".removephonebyid()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L150", + "_origin": "ast", + "id": "services_phoneapikeyservice_deleteallforuser", + "community": 75, + "norm_label": ".deleteallforuser()" + }, + { + "label": ".AddPhone()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L163", + "_origin": "ast", + "id": "services_phoneapikeyservice_addphone", + "community": 75, + "norm_label": ".addphone()" + }, + { + "label": ".generateRandomBytes()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L185", + "_origin": "ast", + "id": "services_phoneapikeyservice_generaterandombytes", + "community": 75, + "norm_label": ".generaterandombytes()" + }, + { + "label": ".generateAPIKey()", + "file_type": "code", + "source_file": "api/pkg/services/phone_api_key_service.go", + "source_location": "L195", + "_origin": "ast", + "id": "services_phoneapikeyservice_generateapikey", + "community": 75, + "norm_label": ".generateapikey()" + }, + { + "label": "phone_notification_service.go", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go", + "community": 35, + "norm_label": "phone_notification_service.go" + }, + { + "label": "PhoneNotificationService", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L22", + "_origin": "ast", + "id": "services_phonenotificationservice", + "community": 35, + "norm_label": "phonenotificationservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_service", + "community": 670, + "norm_label": "service" + }, + { + "label": "NewNotificationService()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L34", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_newnotificationservice", + "community": 35, + "norm_label": "newnotificationservice()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L55", + "_origin": "ast", + "id": "services_phonenotificationservice_deleteallforuser", + "community": 35, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_context", + "community": 667, + "norm_label": "context" + }, + { + "label": ".DeleteByMessageID()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L68", + "_origin": "ast", + "id": "services_phonenotificationservice_deletebymessageid", + "community": 35, + "norm_label": ".deletebymessageid()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_uuid", + "community": 674, + "norm_label": "uuid" + }, + { + "label": ".SendHeartbeatFCM()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L81", + "_origin": "ast", + "id": "services_phonenotificationservice_sendheartbeatfcm", + "community": 35, + "norm_label": ".sendheartbeatfcm()" + }, + { + "label": "PhoneNotificationSendParams", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L119", + "_origin": "ast", + "id": "services_phonenotificationsendparams", + "community": 35, + "norm_label": "phonenotificationsendparams" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_time", + "community": 673, + "norm_label": "time" + }, + { + "label": ".Send()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L129", + "_origin": "ast", + "id": "services_phonenotificationservice_send", + "community": 35, + "norm_label": ".send()" + }, + { + "label": "PhoneNotificationScheduleParams", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L172", + "_origin": "ast", + "id": "services_phonenotificationscheduleparams", + "community": 35, + "norm_label": "phonenotificationscheduleparams" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_sim", + "community": 671, + "norm_label": "sim" + }, + { + "label": ".Schedule()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L186", + "_origin": "ast", + "id": "services_phonenotificationservice_schedule", + "community": 35, + "norm_label": ".schedule()" + }, + { + "label": ".scheduleExact()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L246", + "_origin": "ast", + "id": "services_phonenotificationservice_scheduleexact", + "community": 35, + "norm_label": ".scheduleexact()" + }, + { + "label": "Span", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_span", + "community": 672, + "norm_label": "span" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_phone", + "community": 669, + "norm_label": "phone" + }, + { + "label": ".dispatchMessageNotificationSend()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L281", + "_origin": "ast", + "id": "services_phonenotificationservice_dispatchmessagenotificationsend", + "community": 35, + "norm_label": ".dispatchmessagenotificationsend()" + }, + { + "label": ".dispatchMessageNotificationScheduled()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L303", + "_origin": "ast", + "id": "services_phonenotificationservice_dispatchmessagenotificationscheduled", + "community": 35, + "norm_label": ".dispatchmessagenotificationscheduled()" + }, + { + "label": ".handleNotificationFailed()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L330", + "_origin": "ast", + "id": "services_phonenotificationservice_handlenotificationfailed", + "community": 35, + "norm_label": ".handlenotificationfailed()" + }, + { + "label": ".handleNotificationSent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L351", + "_origin": "ast", + "id": "services_phonenotificationservice_handlenotificationsent", + "community": 35, + "norm_label": ".handlenotificationsent()" + }, + { + "label": ".createMessageNotificationScheduledEvent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L377", + "_origin": "ast", + "id": "services_phonenotificationservice_createmessagenotificationscheduledevent", + "community": 35, + "norm_label": ".createmessagenotificationscheduledevent()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_notification_service_go_event", + "community": 668, + "norm_label": "event" + }, + { + "label": ".createMessageNotificationSendEvent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L384", + "_origin": "ast", + "id": "services_phonenotificationservice_createmessagenotificationsendevent", + "community": 35, + "norm_label": ".createmessagenotificationsendevent()" + }, + { + "label": ".createMessageNotificationSentEvent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L391", + "_origin": "ast", + "id": "services_phonenotificationservice_createmessagenotificationsentevent", + "community": 35, + "norm_label": ".createmessagenotificationsentevent()" + }, + { + "label": ".createMessageNotificationFailedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L422", + "_origin": "ast", + "id": "services_phonenotificationservice_createmessagenotificationfailedevent", + "community": 35, + "norm_label": ".createmessagenotificationfailedevent()" + }, + { + "label": ".updateStatus()", + "file_type": "code", + "source_file": "api/pkg/services/phone_notification_service.go", + "source_location": "L450", + "_origin": "ast", + "id": "services_phonenotificationservice_updatestatus", + "community": 35, + "norm_label": ".updatestatus()" + }, + { + "label": "phone_service.go", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go", + "community": 27, + "norm_label": "phone_service.go" + }, + { + "label": "PhoneService", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L22", + "_origin": "ast", + "id": "services_phoneservice", + "community": 27, + "norm_label": "phoneservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_service", + "community": 680, + "norm_label": "service" + }, + { + "label": "NewPhoneService()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L31", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_newphoneservice", + "community": 27, + "norm_label": "newphoneservice()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L46", + "_origin": "ast", + "id": "services_phoneservice_deleteallforuser", + "community": 27, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_context", + "community": 675, + "norm_label": "context" + }, + { + "label": ".NullifyScheduleID()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L59", + "_origin": "ast", + "id": "services_phoneservice_nullifyscheduleid", + "community": 27, + "norm_label": ".nullifyscheduleid()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_uuid", + "community": 682, + "norm_label": "uuid" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L72", + "_origin": "ast", + "id": "services_phoneservice_index", + "community": 27, + "norm_label": ".index()" + }, + { + "label": "Phone", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_phone", + "community": 678, + "norm_label": "phone" + }, + { + "label": ".Load()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L88", + "_origin": "ast", + "id": "services_phoneservice_load", + "community": 27, + "norm_label": ".load()" + }, + { + "label": "PhoneUpsertParams", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L96", + "_origin": "ast", + "id": "services_phoneupsertparams", + "community": 27, + "norm_label": "phoneupsertparams" + }, + { + "label": "PhoneNumber", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_phonenumber", + "community": 679, + "norm_label": "phonenumber" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_duration", + "community": 676, + "norm_label": "duration" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_sim", + "community": 681, + "norm_label": "sim" + }, + { + "label": ".Upsert()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L112", + "_origin": "ast", + "id": "services_phoneservice_upsert", + "community": 27, + "norm_label": ".upsert()" + }, + { + "label": ".dispatchPhoneUpdatedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L151", + "_origin": "ast", + "id": "services_phoneservice_dispatchphoneupdatedevent", + "community": 27, + "norm_label": ".dispatchphoneupdatedevent()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L174", + "_origin": "ast", + "id": "services_phoneservice_delete", + "community": 27, + "norm_label": ".delete()" + }, + { + "label": "PhoneFCMTokenParams", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L210", + "_origin": "ast", + "id": "services_phonefcmtokenparams", + "community": 27, + "norm_label": "phonefcmtokenparams" + }, + { + "label": ".UpsertFCMToken()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L221", + "_origin": "ast", + "id": "services_phoneservice_upsertfcmtoken", + "community": 27, + "norm_label": ".upsertfcmtoken()" + }, + { + "label": ".createPhone()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L245", + "_origin": "ast", + "id": "services_phoneservice_createphone", + "community": 27, + "norm_label": ".createphone()" + }, + { + "label": ".createPhoneUpdatedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L274", + "_origin": "ast", + "id": "services_phoneservice_createphoneupdatedevent", + "community": 27, + "norm_label": ".createphoneupdatedevent()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_phone_service_go_event", + "community": 677, + "norm_label": "event" + }, + { + "label": ".createPhoneDeletedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L278", + "_origin": "ast", + "id": "services_phoneservice_createphonedeletedevent", + "community": 27, + "norm_label": ".createphonedeletedevent()" + }, + { + "label": ".update()", + "file_type": "code", + "source_file": "api/pkg/services/phone_service.go", + "source_location": "L282", + "_origin": "ast", + "id": "services_phoneservice_update", + "community": 27, + "norm_label": ".update()" + }, + { + "label": "push_queue_service.go", + "file_type": "code", + "source_file": "api/pkg/services/push_queue_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_push_queue_service_go", + "community": 43, + "norm_label": "push_queue_service.go" + }, + { + "label": "PushQueueTask", + "file_type": "code", + "source_file": "api/pkg/services/push_queue_service.go", + "source_location": "L11", + "_origin": "ast", + "id": "services_pushqueuetask", + "community": 43, + "norm_label": "pushqueuetask" + }, + { + "label": "PushQueueConfig", + "file_type": "code", + "source_file": "api/pkg/services/push_queue_service.go", + "source_location": "L19", + "_origin": "ast", + "id": "services_pushqueueconfig", + "community": 43, + "norm_label": "pushqueueconfig" + }, + { + "label": "PushQueue", + "file_type": "code", + "source_file": "api/pkg/services/push_queue_service.go", + "source_location": "L27", + "_origin": "ast", + "id": "services_pushqueue", + "community": 43, + "norm_label": "pushqueue" + }, + { + "label": "service.go", + "file_type": "code", + "source_file": "api/pkg/services/service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_service_go", + "community": 258, + "norm_label": "service.go" + }, + { + "label": "service", + "file_type": "code", + "source_file": "api/pkg/services/service.go", + "source_location": "L15", + "_origin": "ast", + "id": "services_service", + "community": 258, + "norm_label": "service" + }, + { + "label": ".createEvent()", + "file_type": "code", + "source_file": "api/pkg/services/service.go", + "source_location": "L17", + "_origin": "ast", + "id": "services_service_createevent", + "community": 258, + "norm_label": ".createevent()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_service_go_event", + "community": 683, + "norm_label": "event" + }, + { + "label": ".getFormattedNumber()", + "file_type": "code", + "source_file": "api/pkg/services/service.go", + "source_location": "L32", + "_origin": "ast", + "id": "services_service_getformattednumber", + "community": 258, + "norm_label": ".getformattednumber()" + }, + { + "label": "user_service.go", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_services_user_service", + "community": 92, + "norm_label": "user_service.go" + }, + { + "label": "UserService", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L26", + "_origin": "ast", + "id": "services_userservice", + "community": 33, + "norm_label": "userservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_user_service_go_service", + "community": 33, + "norm_label": "service" + }, + { + "label": "NewUserService()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L40", + "_origin": "ast", + "id": "api_pkg_services_user_service_newuserservice", + "community": 65, + "norm_label": "newuserservice()" + }, + { + "label": ".GetSubscriptionPayments()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L65", + "_origin": "ast", + "id": "services_userservice_getsubscriptionpayments", + "community": 33, + "norm_label": ".getsubscriptionpayments()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_user_service_go_context", + "community": 33, + "norm_label": "context" + }, + { + "label": "ApiResponseData", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "apiresponsedata", + "community": 33, + "norm_label": "apiresponsedata" + }, + { + "label": "SubscriptionInvoiceAttributes", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "subscriptioninvoiceattributes", + "community": 33, + "norm_label": "subscriptioninvoiceattributes" + }, + { + "label": "APIResponseRelationshipsSubscriptionInvoice", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "apiresponserelationshipssubscriptioninvoice", + "community": 33, + "norm_label": "apiresponserelationshipssubscriptioninvoice" + }, + { + "label": "UserInvoiceGenerateParams", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L90", + "_origin": "ast", + "id": "services_userinvoicegenerateparams", + "community": 92, + "norm_label": "userinvoicegenerateparams" + }, + { + "label": ".GenerateReceipt()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L103", + "_origin": "ast", + "id": "services_userservice_generatereceipt", + "community": 33, + "norm_label": ".generatereceipt()" + }, + { + "label": "Reader", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "reader", + "community": 33, + "norm_label": "reader" + }, + { + "label": ".Get()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L133", + "_origin": "ast", + "id": "services_userservice_get", + "community": 33, + "norm_label": ".get()" + }, + { + "label": ".dispatchUserCreatedEvent()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L149", + "_origin": "ast", + "id": "services_userservice_dispatchusercreatedevent", + "community": 33, + "norm_label": ".dispatchusercreatedevent()" + }, + { + "label": ".GetByID()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L169", + "_origin": "ast", + "id": "services_userservice_getbyid", + "community": 33, + "norm_label": ".getbyid()" + }, + { + "label": "UserUpdateParams", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L182", + "_origin": "ast", + "id": "services_userupdateparams", + "community": 92, + "norm_label": "userupdateparams" + }, + { + "label": "Location", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_user_service_go_location", + "community": 92, + "norm_label": "location" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_user_service_go_uuid", + "community": 92, + "norm_label": "uuid" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L188", + "_origin": "ast", + "id": "services_userservice_update", + "community": 33, + "norm_label": ".update()" + }, + { + "label": "UserNotificationUpdateParams", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L215", + "_origin": "ast", + "id": "services_usernotificationupdateparams", + "community": 92, + "norm_label": "usernotificationupdateparams" + }, + { + "label": ".UpdateNotificationSettings()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L223", + "_origin": "ast", + "id": "services_userservice_updatenotificationsettings", + "community": 92, + "norm_label": ".updatenotificationsettings()" + }, + { + "label": ".RotateAPIKey()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L246", + "_origin": "ast", + "id": "services_userservice_rotateapikey", + "community": 33, + "norm_label": ".rotateapikey()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L277", + "_origin": "ast", + "id": "services_userservice_delete", + "community": 33, + "norm_label": ".delete()" + }, + { + "label": ".SendAPIKeyRotatedEmail()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L314", + "_origin": "ast", + "id": "services_userservice_sendapikeyrotatedemail", + "community": 33, + "norm_label": ".sendapikeyrotatedemail()" + }, + { + "label": "UserSendPhoneDeadEmailParams", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L334", + "_origin": "ast", + "id": "services_usersendphonedeademailparams", + "community": 92, + "norm_label": "usersendphonedeademailparams" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_services_user_service_go_time", + "community": 92, + "norm_label": "time" + }, + { + "label": ".SendPhoneDeadEmail()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L342", + "_origin": "ast", + "id": "services_userservice_sendphonedeademail", + "community": 92, + "norm_label": ".sendphonedeademail()" + }, + { + "label": ".StartSubscription()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L372", + "_origin": "ast", + "id": "services_userservice_startsubscription", + "community": 33, + "norm_label": ".startsubscription()" + }, + { + "label": ".InitiateSubscriptionCancel()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L395", + "_origin": "ast", + "id": "services_userservice_initiatesubscriptioncancel", + "community": 33, + "norm_label": ".initiatesubscriptioncancel()" + }, + { + "label": ".GetSubscriptionUpdateURL()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L413", + "_origin": "ast", + "id": "services_userservice_getsubscriptionupdateurl", + "community": 33, + "norm_label": ".getsubscriptionupdateurl()" + }, + { + "label": ".CancelSubscription()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L431", + "_origin": "ast", + "id": "services_userservice_cancelsubscription", + "community": 33, + "norm_label": ".cancelsubscription()" + }, + { + "label": ".ExpireSubscription()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L454", + "_origin": "ast", + "id": "services_userservice_expiresubscription", + "community": 33, + "norm_label": ".expiresubscription()" + }, + { + "label": ".UpdateSubscription()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L477", + "_origin": "ast", + "id": "services_userservice_updatesubscription", + "community": 33, + "norm_label": ".updatesubscription()" + }, + { + "label": ".DeleteAuthUser()", + "file_type": "code", + "source_file": "api/pkg/services/user_service.go", + "source_location": "L506", + "_origin": "ast", + "id": "services_userservice_deleteauthuser", + "community": 33, + "norm_label": ".deleteauthuser()" + }, + { + "label": "webhook_service.go", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_go", + "community": 8, + "norm_label": "webhook_service.go" + }, + { + "label": "WebhookService", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L32", + "_origin": "ast", + "id": "services_webhookservice", + "community": 8, + "norm_label": "webhookservice" + }, + { + "label": "service", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_go_service", + "community": 687, + "norm_label": "service" + }, + { + "label": "NewWebhookService()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L42", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_newwebhookservice", + "community": 8, + "norm_label": "newwebhookservice()" + }, + { + "label": ".DeleteAllForUser()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L59", + "_origin": "ast", + "id": "services_webhookservice_deleteallforuser", + "community": 8, + "norm_label": ".deleteallforuser()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_go_context", + "community": 684, + "norm_label": "context" + }, + { + "label": ".Index()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L72", + "_origin": "ast", + "id": "services_webhookservice_index", + "community": 8, + "norm_label": ".index()" + }, + { + "label": ".Delete()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L88", + "_origin": "ast", + "id": "services_webhookservice_delete", + "community": 8, + "norm_label": ".delete()" + }, + { + "label": "UUID", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_go_uuid", + "community": 689, + "norm_label": "uuid" + }, + { + "label": "WebhookStoreParams", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L107", + "_origin": "ast", + "id": "services_webhookstoreparams", + "community": 8, + "norm_label": "webhookstoreparams" + }, + { + "label": "StringArray", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_go_stringarray", + "community": 688, + "norm_label": "stringarray" + }, + { + "label": ".Store()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L116", + "_origin": "ast", + "id": "services_webhookservice_store", + "community": 8, + "norm_label": ".store()" + }, + { + "label": "WebhookUpdateParams", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L142", + "_origin": "ast", + "id": "services_webhookupdateparams", + "community": 8, + "norm_label": "webhookupdateparams" + }, + { + "label": ".Update()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L152", + "_origin": "ast", + "id": "services_webhookservice_update", + "community": 8, + "norm_label": ".update()" + }, + { + "label": ".Send()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L175", + "_origin": "ast", + "id": "services_webhookservice_send", + "community": 8, + "norm_label": ".send()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_go_event", + "community": 685, + "norm_label": "event" + }, + { + "label": ".sendNotification()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L202", + "_origin": "ast", + "id": "services_webhookservice_sendnotification", + "community": 8, + "norm_label": ".sendnotification()" + }, + { + "label": ".createRequest()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L252", + "_origin": "ast", + "id": "services_webhookservice_createrequest", + "community": 8, + "norm_label": ".createrequest()" + }, + { + "label": "Request", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_services_webhook_service_go_request", + "community": 686, + "norm_label": "request" + }, + { + "label": ".getPayload()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L280", + "_origin": "ast", + "id": "services_webhookservice_getpayload", + "community": 8, + "norm_label": ".getpayload()" + }, + { + "label": ".getAuthToken()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L328", + "_origin": "ast", + "id": "services_webhookservice_getauthtoken", + "community": 8, + "norm_label": ".getauthtoken()" + }, + { + "label": ".handleWebhookSendFailed()", + "file_type": "code", + "source_file": "api/pkg/services/webhook_service.go", + "source_location": "L340", + "_origin": "ast", + "id": "services_webhookservice_handlewebhooksendfailed", + "community": 8, + "norm_label": ".handlewebhooksendfailed()" + }, + { + "label": "gorm_logger.go", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_gorm_logger_go", + "community": 110, + "norm_label": "gorm_logger.go" + }, + { + "label": "gormLogger", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L12", + "_origin": "ast", + "id": "telemetry_gormlogger", + "community": 110, + "norm_label": "gormlogger" + }, + { + "label": "NewGormLogger()", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L18", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_gorm_logger_newgormlogger", + "community": 110, + "norm_label": "newgormlogger()" + }, + { + "label": "Interface", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_gorm_logger_go_interface", + "community": 691, + "norm_label": "interface" + }, + { + "label": ".LogMode()", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L26", + "_origin": "ast", + "id": "telemetry_gormlogger_logmode", + "community": 110, + "norm_label": ".logmode()" + }, + { + "label": "LogLevel", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "loglevel", + "community": 110, + "norm_label": "loglevel" + }, + { + "label": ".Info()", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L30", + "_origin": "ast", + "id": "telemetry_gormlogger_info", + "community": 110, + "norm_label": ".info()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_gorm_logger_go_context", + "community": 690, + "norm_label": "context" + }, + { + "label": ".Warn()", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L34", + "_origin": "ast", + "id": "telemetry_gormlogger_warn", + "community": 110, + "norm_label": ".warn()" + }, + { + "label": ".Error()", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L38", + "_origin": "ast", + "id": "telemetry_gormlogger_error", + "community": 110, + "norm_label": ".error()" + }, + { + "label": ".Trace()", + "file_type": "code", + "source_file": "api/pkg/telemetry/gorm_logger.go", + "source_location": "L42", + "_origin": "ast", + "id": "telemetry_gormlogger_trace", + "community": 110, + "norm_label": ".trace()" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_gorm_logger_go_time", + "community": 692, + "norm_label": "time" + }, + { + "label": "logger.go", + "file_type": "code", + "source_file": "api/pkg/telemetry/logger.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_logger_go", + "community": 14, + "norm_label": "logger.go" + }, + { + "label": "Logger", + "file_type": "code", + "source_file": "api/pkg/telemetry/logger.go", + "source_location": "L8", + "_origin": "ast", + "id": "telemetry_logger", + "community": 14, + "norm_label": "logger" + }, + { + "label": "otel_tracer.go", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_otel_tracer_go", + "community": 84, + "norm_label": "otel_tracer.go" + }, + { + "label": "otelTracer", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L14", + "_origin": "ast", + "id": "telemetry_oteltracer", + "community": 84, + "norm_label": "oteltracer" + }, + { + "label": "NewOtelLogger()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_otel_tracer_newotellogger", + "community": 84, + "norm_label": "newotellogger()" + }, + { + "label": ".StartFromFiberCtxWithLogger()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L27", + "_origin": "ast", + "id": "telemetry_oteltracer_startfromfiberctxwithlogger", + "community": 84, + "norm_label": ".startfromfiberctxwithlogger()" + }, + { + "label": "Ctx", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_otel_tracer_go_ctx", + "community": 694, + "norm_label": "ctx" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_otel_tracer_go_context", + "community": 693, + "norm_label": "context" + }, + { + "label": "Span", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_otel_tracer_go_span", + "community": 695, + "norm_label": "span" + }, + { + "label": ".StartFromFiberCtx()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L32", + "_origin": "ast", + "id": "telemetry_oteltracer_startfromfiberctx", + "community": 84, + "norm_label": ".startfromfiberctx()" + }, + { + "label": ".CtxLogger()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L36", + "_origin": "ast", + "id": "telemetry_oteltracer_ctxlogger", + "community": 84, + "norm_label": ".ctxlogger()" + }, + { + "label": ".StartWithLogger()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L40", + "_origin": "ast", + "id": "telemetry_oteltracer_startwithlogger", + "community": 84, + "norm_label": ".startwithlogger()" + }, + { + "label": ".Start()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L45", + "_origin": "ast", + "id": "telemetry_oteltracer_start", + "community": 84, + "norm_label": ".start()" + }, + { + "label": ".Span()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L57", + "_origin": "ast", + "id": "telemetry_oteltracer_span", + "community": 84, + "norm_label": ".span()" + }, + { + "label": ".WrapErrorSpan()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L61", + "_origin": "ast", + "id": "telemetry_oteltracer_wraperrorspan", + "community": 84, + "norm_label": ".wraperrorspan()" + }, + { + "label": "getName()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L72", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_otel_tracer_getname", + "community": 84, + "norm_label": "getname()" + }, + { + "label": "functionName()", + "file_type": "code", + "source_file": "api/pkg/telemetry/otel_tracer.go", + "source_location": "L79", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_otel_tracer_functionname", + "community": 84, + "norm_label": "functionname()" + }, + { + "label": "tracer.go", + "file_type": "code", + "source_file": "api/pkg/telemetry/tracer.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_tracer_go", + "community": 156, + "norm_label": "tracer.go" + }, + { + "label": "Tracer", + "file_type": "code", + "source_file": "api/pkg/telemetry/tracer.go", + "source_location": "L16", + "_origin": "ast", + "id": "telemetry_tracer", + "community": 156, + "norm_label": "tracer" + }, + { + "label": "zerolog_logger.go", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_zerolog_logger_go", + "community": 56, + "norm_label": "zerolog_logger.go" + }, + { + "label": "zerologLogger", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L12", + "_origin": "ast", + "id": "telemetry_zerologlogger", + "community": 56, + "norm_label": "zerologlogger" + }, + { + "label": "SpanContext", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_zerolog_logger_go_spancontext", + "community": 697, + "norm_label": "spancontext" + }, + { + "label": "Level", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "level", + "community": 56, + "norm_label": "level" + }, + { + "label": "NewZerologLogger()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_zerolog_logger_newzerologlogger", + "community": 56, + "norm_label": "newzerologlogger()" + }, + { + "label": ".WithService()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L34", + "_origin": "ast", + "id": "telemetry_zerologlogger_withservice", + "community": 56, + "norm_label": ".withservice()" + }, + { + "label": ".Printf()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L43", + "_origin": "ast", + "id": "telemetry_zerologlogger_printf", + "community": 56, + "norm_label": ".printf()" + }, + { + "label": ".WithString()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L48", + "_origin": "ast", + "id": "telemetry_zerologlogger_withstring", + "community": 56, + "norm_label": ".withstring()" + }, + { + "label": ".Info()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L58", + "_origin": "ast", + "id": "telemetry_zerologlogger_info", + "community": 56, + "norm_label": ".info()" + }, + { + "label": ".Trace()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L63", + "_origin": "ast", + "id": "telemetry_zerologlogger_trace", + "community": 56, + "norm_label": ".trace()" + }, + { + "label": ".Warn()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L68", + "_origin": "ast", + "id": "telemetry_zerologlogger_warn", + "community": 56, + "norm_label": ".warn()" + }, + { + "label": ".Debug()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L73", + "_origin": "ast", + "id": "telemetry_zerologlogger_debug", + "community": 56, + "norm_label": ".debug()" + }, + { + "label": ".Fatal()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L78", + "_origin": "ast", + "id": "telemetry_zerologlogger_fatal", + "community": 56, + "norm_label": ".fatal()" + }, + { + "label": ".Error()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L83", + "_origin": "ast", + "id": "telemetry_zerologlogger_error", + "community": 56, + "norm_label": ".error()" + }, + { + "label": ".WithSpan()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L88", + "_origin": "ast", + "id": "telemetry_zerologlogger_withspan", + "community": 56, + "norm_label": ".withspan()" + }, + { + "label": ".decorateEvent()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L97", + "_origin": "ast", + "id": "telemetry_zerologlogger_decorateevent", + "community": 56, + "norm_label": ".decorateevent()" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_telemetry_zerolog_logger_go_event", + "community": 696, + "norm_label": "event" + }, + { + "label": ".addField()", + "file_type": "code", + "source_file": "api/pkg/telemetry/zerolog_logger.go", + "source_location": "L109", + "_origin": "ast", + "id": "telemetry_zerologlogger_addfield", + "community": 56, + "norm_label": ".addfield()" + }, + { + "label": "billing_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/billing_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_billing_handler_validator_go", + "community": 34, + "norm_label": "billing_handler_validator.go" + }, + { + "label": "BillingHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/billing_handler_validator.go", + "source_location": "L15", + "_origin": "ast", + "id": "validators_billinghandlervalidator", + "community": 34, + "norm_label": "billinghandlervalidator" + }, + { + "label": "NewBillingHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/billing_handler_validator.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_billing_handler_validator_newbillinghandlervalidator", + "community": 34, + "norm_label": "newbillinghandlervalidator()" + }, + { + "label": ".ValidateHistory()", + "file_type": "code", + "source_file": "api/pkg/validators/billing_handler_validator.go", + "source_location": "L33", + "_origin": "ast", + "id": "validators_billinghandlervalidator_validatehistory", + "community": 144, + "norm_label": ".validatehistory()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_billing_handler_validator_go_context", + "community": 698, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_billing_handler_validator_go_values", + "community": 699, + "norm_label": "values" + }, + { + "label": "bulk_message_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_bulk_message_handler_validator_go", + "community": 90, + "norm_label": "bulk_message_handler_validator.go" + }, + { + "label": "BulkMessageHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L28", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator", + "community": 90, + "norm_label": "bulkmessagehandlervalidator" + }, + { + "label": "NewBulkMessageHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L38", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_bulk_message_handler_validator_newbulkmessagehandlervalidator", + "community": 90, + "norm_label": "newbulkmessagehandlervalidator()" + }, + { + "label": ".ValidateStore()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L55", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_validatestore", + "community": 90, + "norm_label": ".validatestore()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_bulk_message_handler_validator_go_context", + "community": 701, + "norm_label": "context" + }, + { + "label": "FileHeader", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "fileheader", + "community": 90, + "norm_label": "fileheader" + }, + { + "label": "BulkMessage", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_bulk_message_handler_validator_go_bulkmessage", + "community": 700, + "norm_label": "bulkmessage" + }, + { + "label": "Location", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_bulk_message_handler_validator_go_location", + "community": 702, + "norm_label": "location" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_bulk_message_handler_validator_go_values", + "community": 703, + "norm_label": "values" + }, + { + "label": ".parseFile()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L99", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_parsefile", + "community": 90, + "norm_label": ".parsefile()" + }, + { + "label": ".parseXlsx()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L114", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_parsexlsx", + "community": 90, + "norm_label": ".parsexlsx()" + }, + { + "label": ".parseBytes()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L170", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_parsebytes", + "community": 90, + "norm_label": ".parsebytes()" + }, + { + "label": ".parseCSV()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L200", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_parsecsv", + "community": 90, + "norm_label": ".parsecsv()" + }, + { + "label": ".validateMessages()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L216", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_validatemessages", + "community": 90, + "norm_label": ".validatemessages()" + }, + { + "label": ".validateOwners()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L273", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_validateowners", + "community": 90, + "norm_label": ".validateowners()" + }, + { + "label": ".toString()", + "file_type": "code", + "source_file": "api/pkg/validators/bulk_message_handler_validator.go", + "source_location": "L289", + "_origin": "ast", + "id": "validators_bulkmessagehandlervalidator_tostring", + "community": 90, + "norm_label": ".tostring()" + }, + { + "label": "discord_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/discord_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_discord_handler_validator_go", + "community": 123, + "norm_label": "discord_handler_validator.go" + }, + { + "label": "DiscordHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/discord_handler_validator.go", + "source_location": "L18", + "_origin": "ast", + "id": "validators_discordhandlervalidator", + "community": 123, + "norm_label": "discordhandlervalidator" + }, + { + "label": "NewDiscordHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/discord_handler_validator.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_discord_handler_validator_newdiscordhandlervalidator", + "community": 123, + "norm_label": "newdiscordhandlervalidator()" + }, + { + "label": ".ValidateIndex()", + "file_type": "code", + "source_file": "api/pkg/validators/discord_handler_validator.go", + "source_location": "L39", + "_origin": "ast", + "id": "validators_discordhandlervalidator_validateindex", + "community": 153, + "norm_label": ".validateindex()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_discord_handler_validator_go_context", + "community": 704, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_discord_handler_validator_go_values", + "community": 705, + "norm_label": "values" + }, + { + "label": ".ValidateStore()", + "file_type": "code", + "source_file": "api/pkg/validators/discord_handler_validator.go", + "source_location": "L63", + "_origin": "ast", + "id": "validators_discordhandlervalidator_validatestore", + "community": 123, + "norm_label": ".validatestore()" + }, + { + "label": ".ValidateUpdate()", + "file_type": "code", + "source_file": "api/pkg/validators/discord_handler_validator.go", + "source_location": "L107", + "_origin": "ast", + "id": "validators_discordhandlervalidator_validateupdate", + "community": 199, + "norm_label": ".validateupdate()" + }, + { + "label": "heartbeat_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/heartbeat_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_heartbeat_handler_validator_go", + "community": 48, + "norm_label": "heartbeat_handler_validator.go" + }, + { + "label": "HeartbeatHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/heartbeat_handler_validator.go", + "source_location": "L15", + "_origin": "ast", + "id": "validators_heartbeathandlervalidator", + "community": 48, + "norm_label": "heartbeathandlervalidator" + }, + { + "label": "NewHeartbeatHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/heartbeat_handler_validator.go", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_heartbeat_handler_validator_newheartbeathandlervalidator", + "community": 48, + "norm_label": "newheartbeathandlervalidator()" + }, + { + "label": ".ValidateIndex()", + "file_type": "code", + "source_file": "api/pkg/validators/heartbeat_handler_validator.go", + "source_location": "L33", + "_origin": "ast", + "id": "validators_heartbeathandlervalidator_validateindex", + "community": 48, + "norm_label": ".validateindex()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_heartbeat_handler_validator_go_context", + "community": 706, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_heartbeat_handler_validator_go_values", + "community": 707, + "norm_label": "values" + }, + { + "label": ".ValidateStore()", + "file_type": "code", + "source_file": "api/pkg/validators/heartbeat_handler_validator.go", + "source_location": "L61", + "_origin": "ast", + "id": "validators_heartbeathandlervalidator_validatestore", + "community": 48, + "norm_label": ".validatestore()" + }, + { + "label": "lemonsqueezy_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/lemonsqueezy_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_lemonsqueezy_handler_validator_go", + "community": 37, + "norm_label": "lemonsqueezy_handler_validator.go" + }, + { + "label": "LemonsqueezyHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/lemonsqueezy_handler_validator.go", + "source_location": "L13", + "_origin": "ast", + "id": "validators_lemonsqueezyhandlervalidator", + "community": 37, + "norm_label": "lemonsqueezyhandlervalidator" + }, + { + "label": "NewLemonsqueezyHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/lemonsqueezy_handler_validator.go", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_lemonsqueezy_handler_validator_newlemonsqueezyhandlervalidator", + "community": 37, + "norm_label": "newlemonsqueezyhandlervalidator()" + }, + { + "label": ".ValidateEvent()", + "file_type": "code", + "source_file": "api/pkg/validators/lemonsqueezy_handler_validator.go", + "source_location": "L33", + "_origin": "ast", + "id": "validators_lemonsqueezyhandlervalidator_validateevent", + "community": 37, + "norm_label": ".validateevent()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_lemonsqueezy_handler_validator_go_context", + "community": 708, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_lemonsqueezy_handler_validator_go_values", + "community": 709, + "norm_label": "values" + }, + { + "label": "message_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_validators_message_handler_validator", + "community": 14, + "norm_label": "message_handler_validator.go" + }, + { + "label": "MessageHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L24", + "_origin": "ast", + "id": "validators_messagehandlervalidator", + "community": 14, + "norm_label": "messagehandlervalidator" + }, + { + "label": "NewMessageHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L34", + "_origin": "ast", + "id": "api_pkg_validators_message_handler_validator_newmessagehandlervalidator", + "community": 14, + "norm_label": "newmessagehandlervalidator()" + }, + { + "label": ".ValidateMessageReceive()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L57", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatemessagereceive", + "community": 25, + "norm_label": ".validatemessagereceive()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_validators_message_handler_validator_go_context", + "community": 25, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_validators_message_handler_validator_go_values", + "community": 25, + "norm_label": "values" + }, + { + "label": ".validateAttachments()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L98", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validateattachments", + "community": 25, + "norm_label": ".validateattachments()" + }, + { + "label": ".ValidateMessageSend()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L135", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatemessagesend", + "community": 25, + "norm_label": ".validatemessagesend()" + }, + { + "label": ".ValidateMessageBulkSend()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L190", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatemessagebulksend", + "community": 194, + "norm_label": ".validatemessagebulksend()" + }, + { + "label": ".ValidateMessageOutstanding()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L240", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatemessageoutstanding", + "community": 25, + "norm_label": ".validatemessageoutstanding()" + }, + { + "label": ".ValidateMessageIndex()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L254", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatemessageindex", + "community": 25, + "norm_label": ".validatemessageindex()" + }, + { + "label": ".ValidateMessageSearch()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L286", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatemessagesearch", + "community": 25, + "norm_label": ".validatemessagesearch()" + }, + { + "label": ".ValidateMessageEvent()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L352", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatemessageevent", + "community": 25, + "norm_label": ".validatemessageevent()" + }, + { + "label": ".ValidateCallMissed()", + "file_type": "code", + "source_file": "api/pkg/validators/message_handler_validator.go", + "source_location": "L374", + "_origin": "ast", + "id": "validators_messagehandlervalidator_validatecallmissed", + "community": 25, + "norm_label": ".validatecallmissed()" + }, + { + "label": "message_send_schedule_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_send_schedule_handler_validator_go", + "community": 54, + "norm_label": "message_send_schedule_handler_validator.go" + }, + { + "label": "MessageSendScheduleHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L18", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator", + "community": 54, + "norm_label": "messagesendschedulehandlervalidator" + }, + { + "label": "NewMessageSendScheduleHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_send_schedule_handler_validator_newmessagesendschedulehandlervalidator", + "community": 54, + "norm_label": "newmessagesendschedulehandlervalidator()" + }, + { + "label": ".ValidateStore()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L36", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator_validatestore", + "community": 54, + "norm_label": ".validatestore()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_send_schedule_handler_validator_go_context", + "community": 710, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_send_schedule_handler_validator_go_values", + "community": 712, + "norm_label": "values" + }, + { + "label": ".validateWindows()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L60", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator_validatewindows", + "community": 54, + "norm_label": ".validatewindows()" + }, + { + "label": "MessageSendScheduleWindow", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_send_schedule_handler_validator_go_messagesendschedulewindow", + "community": 711, + "norm_label": "messagesendschedulewindow" + }, + { + "label": ".validateDayOfWeek()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L81", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator_validatedayofweek", + "community": 54, + "norm_label": ".validatedayofweek()" + }, + { + "label": ".validateStartMinute()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L101", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator_validatestartminute", + "community": 54, + "norm_label": ".validatestartminute()" + }, + { + "label": ".validateEndMinute()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L111", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator_validateendminute", + "community": 54, + "norm_label": ".validateendminute()" + }, + { + "label": ".validateWindowRange()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L121", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator_validatewindowrange", + "community": 54, + "norm_label": ".validatewindowrange()" + }, + { + "label": ".validateOverlappingWindows()", + "file_type": "code", + "source_file": "api/pkg/validators/message_send_schedule_handler_validator.go", + "source_location": "L131", + "_origin": "ast", + "id": "validators_messagesendschedulehandlervalidator_validateoverlappingwindows", + "community": 54, + "norm_label": ".validateoverlappingwindows()" + }, + { + "label": "message_thread_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/message_thread_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_thread_handler_validator_go", + "community": 107, + "norm_label": "message_thread_handler_validator.go" + }, + { + "label": "MessageThreadHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/message_thread_handler_validator.go", + "source_location": "L14", + "_origin": "ast", + "id": "validators_messagethreadhandlervalidator", + "community": 107, + "norm_label": "messagethreadhandlervalidator" + }, + { + "label": "NewMessageThreadHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/message_thread_handler_validator.go", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_thread_handler_validator_newmessagethreadhandlervalidator", + "community": 107, + "norm_label": "newmessagethreadhandlervalidator()" + }, + { + "label": ".ValidateMessageThreadIndex()", + "file_type": "code", + "source_file": "api/pkg/validators/message_thread_handler_validator.go", + "source_location": "L32", + "_origin": "ast", + "id": "validators_messagethreadhandlervalidator_validatemessagethreadindex", + "community": 137, + "norm_label": ".validatemessagethreadindex()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_thread_handler_validator_go_context", + "community": 713, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_message_thread_handler_validator_go_values", + "community": 714, + "norm_label": "values" + }, + { + "label": ".ValidateUpdate()", + "file_type": "code", + "source_file": "api/pkg/validators/message_thread_handler_validator.go", + "source_location": "L64", + "_origin": "ast", + "id": "validators_messagethreadhandlervalidator_validateupdate", + "community": 107, + "norm_label": ".validateupdate()" + }, + { + "label": "phone_api_key_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/phone_api_key_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_api_key_handler_validator_go", + "community": 39, + "norm_label": "phone_api_key_handler_validator.go" + }, + { + "label": "PhoneAPIKeyHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/phone_api_key_handler_validator.go", + "source_location": "L14", + "_origin": "ast", + "id": "validators_phoneapikeyhandlervalidator", + "community": 39, + "norm_label": "phoneapikeyhandlervalidator" + }, + { + "label": "NewPhoneAPIKeyHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_api_key_handler_validator.go", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_api_key_handler_validator_newphoneapikeyhandlervalidator", + "community": 39, + "norm_label": "newphoneapikeyhandlervalidator()" + }, + { + "label": ".ValidateStore()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_api_key_handler_validator.go", + "source_location": "L32", + "_origin": "ast", + "id": "validators_phoneapikeyhandlervalidator_validatestore", + "community": 39, + "norm_label": ".validatestore()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_api_key_handler_validator_go_context", + "community": 715, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_api_key_handler_validator_go_values", + "community": 716, + "norm_label": "values" + }, + { + "label": ".ValidateIndex()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_api_key_handler_validator.go", + "source_location": "L48", + "_origin": "ast", + "id": "validators_phoneapikeyhandlervalidator_validateindex", + "community": 39, + "norm_label": ".validateindex()" + }, + { + "label": "phone_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/phone_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_handler_validator_go", + "community": 58, + "norm_label": "phone_handler_validator.go" + }, + { + "label": "PhoneHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/phone_handler_validator.go", + "source_location": "L18", + "_origin": "ast", + "id": "validators_phonehandlervalidator", + "community": 58, + "norm_label": "phonehandlervalidator" + }, + { + "label": "NewPhoneHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_handler_validator.go", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_handler_validator_newphonehandlervalidator", + "community": 58, + "norm_label": "newphonehandlervalidator()" + }, + { + "label": ".ValidateIndex()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_handler_validator.go", + "source_location": "L39", + "_origin": "ast", + "id": "validators_phonehandlervalidator_validateindex", + "community": 58, + "norm_label": ".validateindex()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_handler_validator_go_context", + "community": 717, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_phone_handler_validator_go_values", + "community": 718, + "norm_label": "values" + }, + { + "label": ".ValidateUpsert()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_handler_validator.go", + "source_location": "L63", + "_origin": "ast", + "id": "validators_phonehandlervalidator_validateupsert", + "community": 58, + "norm_label": ".validateupsert()" + }, + { + "label": ".ValidateFCMToken()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_handler_validator.go", + "source_location": "L117", + "_origin": "ast", + "id": "validators_phonehandlervalidator_validatefcmtoken", + "community": 58, + "norm_label": ".validatefcmtoken()" + }, + { + "label": ".ValidateDelete()", + "file_type": "code", + "source_file": "api/pkg/validators/phone_handler_validator.go", + "source_location": "L140", + "_origin": "ast", + "id": "validators_phonehandlervalidator_validatedelete", + "community": 58, + "norm_label": ".validatedelete()" + }, + { + "label": "turnstile_token_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/turnstile_token_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "api_pkg_validators_turnstile_token_validator", + "community": 14, + "norm_label": "turnstile_token_validator.go" + }, + { + "label": "TurnstileTokenValidator", + "file_type": "code", + "source_file": "api/pkg/validators/turnstile_token_validator.go", + "source_location": "L17", + "_origin": "ast", + "id": "validators_turnstiletokenvalidator", + "community": 14, + "norm_label": "turnstiletokenvalidator" + }, + { + "label": "turnstileVerifyResponse", + "file_type": "code", + "source_file": "api/pkg/validators/turnstile_token_validator.go", + "source_location": "L24", + "_origin": "ast", + "id": "validators_turnstileverifyresponse", + "community": 14, + "norm_label": "turnstileverifyresponse" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_validators_turnstile_token_validator_go_time", + "community": 14, + "norm_label": "time" + }, + { + "label": "NewTurnstileTokenValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/turnstile_token_validator.go", + "source_location": "L37", + "_origin": "ast", + "id": "api_pkg_validators_turnstile_token_validator_newturnstiletokenvalidator", + "community": 14, + "norm_label": "newturnstiletokenvalidator()" + }, + { + "label": ".ValidateToken()", + "file_type": "code", + "source_file": "api/pkg/validators/turnstile_token_validator.go", + "source_location": "L48", + "_origin": "ast", + "id": "validators_turnstiletokenvalidator_validatetoken", + "community": 14, + "norm_label": ".validatetoken()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "api_pkg_validators_turnstile_token_validator_go_context", + "community": 14, + "norm_label": "context" + }, + { + "label": "user_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/user_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_user_handler_validator_go", + "community": 96, + "norm_label": "user_handler_validator.go" + }, + { + "label": "UserHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/user_handler_validator.go", + "source_location": "L17", + "_origin": "ast", + "id": "validators_userhandlervalidator", + "community": 96, + "norm_label": "userhandlervalidator" + }, + { + "label": "NewUserHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/user_handler_validator.go", + "source_location": "L25", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_user_handler_validator_newuserhandlervalidator", + "community": 96, + "norm_label": "newuserhandlervalidator()" + }, + { + "label": ".ValidateUpdate()", + "file_type": "code", + "source_file": "api/pkg/validators/user_handler_validator.go", + "source_location": "L38", + "_origin": "ast", + "id": "validators_userhandlervalidator_validateupdate", + "community": 96, + "norm_label": ".validateupdate()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_user_handler_validator_go_context", + "community": 719, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_user_handler_validator_go_values", + "community": 720, + "norm_label": "values" + }, + { + "label": ".ValidatePaymentInvoice()", + "file_type": "code", + "source_file": "api/pkg/validators/user_handler_validator.go", + "source_location": "L52", + "_origin": "ast", + "id": "validators_userhandlervalidator_validatepaymentinvoice", + "community": 96, + "norm_label": ".validatepaymentinvoice()" + }, + { + "label": "validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_validator_go", + "community": 87, + "norm_label": "validator.go" + }, + { + "label": "validator", + "file_type": "code", + "source_file": "api/pkg/validators/validator.go", + "source_location": "L20", + "_origin": "ast", + "id": "validators_validator", + "community": 87, + "norm_label": "validator" + }, + { + "label": "init()", + "file_type": "code", + "source_file": "api/pkg/validators/validator.go", + "source_location": "L32", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_validator_init", + "community": 87, + "norm_label": "init()" + }, + { + "label": ".ValidateUUID()", + "file_type": "code", + "source_file": "api/pkg/validators/validator.go", + "source_location": "L167", + "_origin": "ast", + "id": "validators_validator_validateuuid", + "community": 87, + "norm_label": ".validateuuid()" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_validator_go_values", + "community": 722, + "norm_label": "values" + }, + { + "label": "validateAttachmentURL()", + "file_type": "code", + "source_file": "api/pkg/validators/validator.go", + "source_location": "L185", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_validator_validateattachmenturl", + "community": 87, + "norm_label": "validateattachmenturl()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_validator_go_context", + "community": 721, + "norm_label": "context" + }, + { + "label": "saveToCache()", + "file_type": "code", + "source_file": "api/pkg/validators/validator.go", + "source_location": "L232", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_validator_savetocache", + "community": 87, + "norm_label": "savetocache()" + }, + { + "label": "webhook_handler_validator.go", + "file_type": "code", + "source_file": "api/pkg/validators/webhook_handler_validator.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_webhook_handler_validator_go", + "community": 8, + "norm_label": "webhook_handler_validator.go" + }, + { + "label": "WebhookHandlerValidator", + "file_type": "code", + "source_file": "api/pkg/validators/webhook_handler_validator.go", + "source_location": "L20", + "_origin": "ast", + "id": "validators_webhookhandlervalidator", + "community": 8, + "norm_label": "webhookhandlervalidator" + }, + { + "label": "NewWebhookHandlerValidator()", + "file_type": "code", + "source_file": "api/pkg/validators/webhook_handler_validator.go", + "source_location": "L28", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_webhook_handler_validator_newwebhookhandlervalidator", + "community": 8, + "norm_label": "newwebhookhandlervalidator()" + }, + { + "label": ".ValidateIndex()", + "file_type": "code", + "source_file": "api/pkg/validators/webhook_handler_validator.go", + "source_location": "L41", + "_origin": "ast", + "id": "validators_webhookhandlervalidator_validateindex", + "community": 8, + "norm_label": ".validateindex()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_webhook_handler_validator_go_context", + "community": 723, + "norm_label": "context" + }, + { + "label": "Values", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_api_pkg_validators_webhook_handler_validator_go_values", + "community": 724, + "norm_label": "values" + }, + { + "label": ".ValidateStore()", + "file_type": "code", + "source_file": "api/pkg/validators/webhook_handler_validator.go", + "source_location": "L65", + "_origin": "ast", + "id": "validators_webhookhandlervalidator_validatestore", + "community": 8, + "norm_label": ".validatestore()" + }, + { + "label": ".ValidateUpdate()", + "file_type": "code", + "source_file": "api/pkg/validators/webhook_handler_validator.go", + "source_location": "L107", + "_origin": "ast", + "id": "validators_webhookhandlervalidator_validateupdate", + "community": 8, + "norm_label": ".validateupdate()" + }, + { + "label": "backup.sh", + "file_type": "code", + "source_file": "ops/backup.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_backup_sh", + "community": 275, + "norm_label": "backup.sh" + }, + { + "label": "backup.sh script", + "file_type": "code", + "source_file": "ops/backup.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_backup_sh__entry", + "community": 275, + "norm_label": "backup.sh script" + }, + { + "label": "read_env_value()", + "file_type": "code", + "source_file": "ops/backup.sh", + "source_location": "L13", + "metadata": { + "language": "bash", + "kind": "bash_function" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_backup_read_env_value", + "community": 275, + "norm_label": "read_env_value()" + }, + { + "label": "deploy.sh", + "file_type": "code", + "source_file": "ops/deploy.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_deploy_sh", + "community": 276, + "norm_label": "deploy.sh" + }, + { + "label": "deploy.sh script", + "file_type": "code", + "source_file": "ops/deploy.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_deploy_sh__entry", + "community": 276, + "norm_label": "deploy.sh script" + }, + { + "label": "read_env_value()", + "file_type": "code", + "source_file": "ops/deploy.sh", + "source_location": "L41", + "metadata": { + "language": "bash", + "kind": "bash_function" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_deploy_read_env_value", + "community": 276, + "norm_label": "read_env_value()" + }, + { + "label": "health-check.sh", + "file_type": "code", + "source_file": "ops/health-check.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_health_check_sh", + "community": 277, + "norm_label": "health-check.sh" + }, + { + "label": "health-check.sh script", + "file_type": "code", + "source_file": "ops/health-check.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_health_check_sh__entry", + "community": 277, + "norm_label": "health-check.sh script" + }, + { + "label": "check_http()", + "file_type": "code", + "source_file": "ops/health-check.sh", + "source_location": "L8", + "metadata": { + "language": "bash", + "kind": "bash_function" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_health_check_check_http", + "community": 277, + "norm_label": "check_http()" + }, + { + "label": "install-docker-ubuntu.sh", + "file_type": "code", + "source_file": "ops/install-docker-ubuntu.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_install_docker_ubuntu_sh", + "community": 278, + "norm_label": "install-docker-ubuntu.sh" + }, + { + "label": "install-docker-ubuntu.sh script", + "file_type": "code", + "source_file": "ops/install-docker-ubuntu.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_install_docker_ubuntu_sh__entry", + "community": 278, + "norm_label": "install-docker-ubuntu.sh script" + }, + { + "label": "DEBIAN_FRONTEND", + "file_type": "code", + "source_file": "ops/install-docker-ubuntu.sh", + "source_location": "L9", + "metadata": { + "language": "bash", + "kind": "code" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_install_docker_ubuntu_debian_frontend", + "community": 278, + "norm_label": "debian_frontend" + }, + { + "label": "install-firebase-credentials.sh", + "file_type": "code", + "source_file": "ops/install-firebase-credentials.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_install_firebase_credentials_sh", + "community": 279, + "norm_label": "install-firebase-credentials.sh" + }, + { + "label": "install-firebase-credentials.sh script", + "file_type": "code", + "source_file": "ops/install-firebase-credentials.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_install_firebase_credentials_sh__entry", + "community": 279, + "norm_label": "install-firebase-credentials.sh script" + }, + { + "label": "cleanup()", + "file_type": "code", + "source_file": "ops/install-firebase-credentials.sh", + "source_location": "L46", + "metadata": { + "language": "bash", + "kind": "bash_function" + }, + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_ops_install_firebase_credentials_cleanup", + "community": 279, + "norm_label": "cleanup()" + }, + { + "label": "generate-firebase-credentials.sh", + "file_type": "code", + "source_file": "tests/generate-firebase-credentials.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "tests_generate_firebase_credentials", + "community": 208, + "norm_label": "generate-firebase-credentials.sh" + }, + { + "label": "generate-firebase-credentials.sh script", + "file_type": "code", + "source_file": "tests/generate-firebase-credentials.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "tests_generate_firebase_credentials_sh__entry", + "community": 208, + "norm_label": "generate-firebase-credentials.sh script" + }, + { + "label": "github.com/NdoleStudio/httpsms/tests", + "file_type": "code", + "type": "package", + "ecosystem": "go", + "source_file": "tests/go.mod", + "source_location": "L1", + "_origin": "ast", + "id": "pkg_github_com_ndolestudio_httpsms_tests", + "community": 227, + "norm_label": "github.com/ndolestudio/httpsms/tests" + }, + { + "label": "helpers_test.go", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_go", + "community": 2, + "norm_label": "helpers_test.go" + }, + { + "label": "testPhone", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L32", + "_origin": "ast", + "id": "tests_testphone", + "community": 2, + "norm_label": "testphone" + }, + { + "label": "newAPIClient()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L38", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_newapiclient", + "community": 2, + "norm_label": "newapiclient()" + }, + { + "label": "newPhoneClient()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L45", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_newphoneclient", + "community": 2, + "norm_label": "newphoneclient()" + }, + { + "label": "newWireMockClient()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L52", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_newwiremockclient", + "community": 2, + "norm_label": "newwiremockclient()" + }, + { + "label": "randomPhoneNumber()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L56", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_randomphonenumber", + "community": 2, + "norm_label": "randomphonenumber()" + }, + { + "label": "randomEncryptionKey()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L65", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_randomencryptionkey", + "community": 2, + "norm_label": "randomencryptionkey()" + }, + { + "label": "setupPhone()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L75", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_setupphone", + "community": 2, + "norm_label": "setupphone()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_go_context", + "community": 725, + "norm_label": "context" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_go_t", + "community": 729, + "norm_label": "t" + }, + { + "label": "setupWebhook()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L120", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_setupwebhook", + "community": 2, + "norm_label": "setupwebhook()" + }, + { + "label": "fireEvent()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L140", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_fireevent", + "community": 2, + "norm_label": "fireevent()" + }, + { + "label": "pollMessageStatus()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L165", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_pollmessagestatus", + "community": 2, + "norm_label": "pollmessagestatus()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_go_duration", + "community": 726, + "norm_label": "duration" + }, + { + "label": "Message", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_go_message", + "community": 727, + "norm_label": "message" + }, + { + "label": "fetchOutstandingMessage()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L196", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_fetchoutstandingmessage", + "community": 2, + "norm_label": "fetchoutstandingmessage()" + }, + { + "label": "findFCMRequests()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L219", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_findfcmrequests", + "community": 2, + "norm_label": "findfcmrequests()" + }, + { + "label": "GetRequestResponse", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "getrequestresponse", + "community": 2, + "norm_label": "getrequestresponse" + }, + { + "label": "findWebhookRequests()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L238", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_findwebhookrequests", + "community": 2, + "norm_label": "findwebhookrequests()" + }, + { + "label": "assertWebhookJWT()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L255", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_assertwebhookjwt", + "community": 2, + "norm_label": "assertwebhookjwt()" + }, + { + "label": "Request", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_go_request", + "community": 728, + "norm_label": "request" + }, + { + "label": "waitForWebhookEvents()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L287", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_waitforwebhookevents", + "community": 2, + "norm_label": "waitforwebhookevents()" + }, + { + "label": "waitForFCMPush()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L304", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_waitforfcmpush", + "community": 2, + "norm_label": "waitforfcmpush()" + }, + { + "label": "BulkMessageEntry", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L320", + "_origin": "ast", + "id": "tests_bulkmessageentry", + "community": 2, + "norm_label": "bulkmessageentry" + }, + { + "label": "uploadBulkFile()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L332", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_uploadbulkfile", + "community": 2, + "norm_label": "uploadbulkfile()" + }, + { + "label": "fetchBulkMessages()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L361", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_fetchbulkmessages", + "community": 2, + "norm_label": "fetchbulkmessages()" + }, + { + "label": "searchMessages()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L384", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_searchmessages", + "community": 2, + "norm_label": "searchmessages()" + }, + { + "label": "findBulkEntry()", + "file_type": "code", + "source_file": "tests/helpers_test.go", + "source_location": "L407", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_helpers_test_findbulkentry", + "community": 2, + "norm_label": "findbulkentry()" + }, + { + "label": "integration_test.go", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "tests_integration_test", + "community": 2, + "norm_label": "integration_test.go" + }, + { + "label": "TestSendSMS_Encrypted()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L20", + "_origin": "ast", + "id": "tests_integration_test_testsendsms_encrypted", + "community": 2, + "norm_label": "testsendsms_encrypted()" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "tests_integration_test_go_t", + "community": 2, + "norm_label": "t" + }, + { + "label": "TestReceiveSMS_Encrypted()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L88", + "_origin": "ast", + "id": "tests_integration_test_testreceivesms_encrypted", + "community": 2, + "norm_label": "testreceivesms_encrypted()" + }, + { + "label": "TestSendSMS_RateLimit()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L155", + "_origin": "ast", + "id": "tests_integration_test_testsendsms_ratelimit", + "community": 2, + "norm_label": "testsendsms_ratelimit()" + }, + { + "label": "TestRotateAPIKey_InvalidatesCache()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L218", + "_origin": "ast", + "id": "tests_integration_test_testrotateapikey_invalidatescache", + "community": 2, + "norm_label": "testrotateapikey_invalidatescache()" + }, + { + "label": "TestSendSMS_OutstandingFlow()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L302", + "_origin": "ast", + "id": "tests_integration_test_testsendsms_outstandingflow", + "community": 2, + "norm_label": "testsendsms_outstandingflow()" + }, + { + "label": "TestHeartbeat_StoreAndIndex()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L351", + "_origin": "ast", + "id": "tests_integration_test_testheartbeat_storeandindex", + "community": 2, + "norm_label": "testheartbeat_storeandindex()" + }, + { + "label": "TestBulkSMS_CSV()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L407", + "_origin": "ast", + "id": "tests_integration_test_testbulksms_csv", + "community": 2, + "norm_label": "testbulksms_csv()" + }, + { + "label": "TestBulkSMS_Excel()", + "file_type": "code", + "source_file": "tests/integration_test.go", + "source_location": "L472", + "_origin": "ast", + "id": "tests_integration_test_testbulksms_excel", + "community": 2, + "norm_label": "testbulksms_excel()" + }, + { + "label": "unarchive_thread_integration_test.go", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_go", + "community": 2, + "norm_label": "unarchive_thread_integration_test.go" + }, + { + "label": "integrationThread", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L19", + "_origin": "ast", + "id": "tests_integrationthread", + "community": 2, + "norm_label": "integrationthread" + }, + { + "label": "setUnarchiveThread()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_setunarchivethread", + "community": 2, + "norm_label": "setunarchivethread()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_go_context", + "community": 730, + "norm_label": "context" + }, + { + "label": "T", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_go_t", + "community": 732, + "norm_label": "t" + }, + { + "label": "receiveInbound()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L60", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_receiveinbound", + "community": 2, + "norm_label": "receiveinbound()" + }, + { + "label": "Time", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_go_time", + "community": 733, + "norm_label": "time" + }, + { + "label": "fetchThreads()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L105", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_fetchthreads", + "community": 2, + "norm_label": "fetchthreads()" + }, + { + "label": "findThreadByContact()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L128", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_findthreadbycontact", + "community": 2, + "norm_label": "findthreadbycontact()" + }, + { + "label": "waitForThread()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L139", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_waitforthread", + "community": 2, + "norm_label": "waitforthread()" + }, + { + "label": "Duration", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_go_duration", + "community": 731, + "norm_label": "duration" + }, + { + "label": "archiveThread()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L153", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_archivethread", + "community": 2, + "norm_label": "archivethread()" + }, + { + "label": "TestUnarchiveThreadOnReceive_Enabled()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L173", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_testunarchivethreadonreceive_enabled", + "community": 2, + "norm_label": "testunarchivethreadonreceive_enabled()" + }, + { + "label": "TestUnarchiveThreadOnReceive_Disabled()", + "file_type": "code", + "source_file": "tests/unarchive_thread_integration_test.go", + "source_location": "L205", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_tests_unarchive_thread_integration_test_testunarchivethreadonreceive_disabled", + "community": 2, + "norm_label": "testunarchivethreadonreceive_disabled()" + }, + { + "label": "applypatch-msg", + "file_type": "code", + "source_file": "web/.husky/_/applypatch-msg", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_applypatch_msg", + "community": 251, + "norm_label": "applypatch-msg" + }, + { + "label": "applypatch-msg script", + "file_type": "code", + "source_file": "web/.husky/_/applypatch-msg", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_applypatch_msg__entry", + "community": 251, + "norm_label": "applypatch-msg script" + }, + { + "label": "commit-msg", + "file_type": "code", + "source_file": "web/.husky/_/commit-msg", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_commit_msg", + "community": 261, + "norm_label": "commit-msg" + }, + { + "label": "commit-msg script", + "file_type": "code", + "source_file": "web/.husky/_/commit-msg", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_commit_msg__entry", + "community": 261, + "norm_label": "commit-msg script" + }, + { + "label": "h", + "file_type": "code", + "source_file": "web/.husky/_/h", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_h", + "community": 182, + "norm_label": "h" + }, + { + "label": "h script", + "file_type": "code", + "source_file": "web/.husky/_/h", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_h__entry", + "community": 182, + "norm_label": "h script" + }, + { + "label": "PATH", + "file_type": "code", + "source_file": "web/.husky/_/h", + "source_location": "L16", + "metadata": { + "language": "bash", + "kind": "code" + }, + "_origin": "ast", + "id": "web_husky_h_path", + "community": 182, + "norm_label": "path" + }, + { + "label": "husky.sh", + "file_type": "code", + "source_file": "web/.husky/_/husky.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_husky", + "community": 71, + "norm_label": "husky.sh" + }, + { + "label": "husky.sh script", + "file_type": "code", + "source_file": "web/.husky/_/husky.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_husky_sh__entry", + "community": 71, + "norm_label": "husky.sh script" + }, + { + "label": "post-applypatch", + "file_type": "code", + "source_file": "web/.husky/_/post-applypatch", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_post_applypatch", + "community": 262, + "norm_label": "post-applypatch" + }, + { + "label": "post-applypatch script", + "file_type": "code", + "source_file": "web/.husky/_/post-applypatch", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_post_applypatch__entry", + "community": 262, + "norm_label": "post-applypatch script" + }, + { + "label": "post-checkout", + "file_type": "code", + "source_file": "web/.husky/_/post-checkout", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_post_checkout", + "community": 263, + "norm_label": "post-checkout" + }, + { + "label": "post-checkout script", + "file_type": "code", + "source_file": "web/.husky/_/post-checkout", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_post_checkout__entry", + "community": 263, + "norm_label": "post-checkout script" + }, + { + "label": "post-commit", + "file_type": "code", + "source_file": "web/.husky/_/post-commit", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_post_commit", + "community": 264, + "norm_label": "post-commit" + }, + { + "label": "post-commit script", + "file_type": "code", + "source_file": "web/.husky/_/post-commit", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_post_commit__entry", + "community": 264, + "norm_label": "post-commit script" + }, + { + "label": "post-merge", + "file_type": "code", + "source_file": "web/.husky/_/post-merge", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_post_merge", + "community": 265, + "norm_label": "post-merge" + }, + { + "label": "post-merge script", + "file_type": "code", + "source_file": "web/.husky/_/post-merge", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_post_merge__entry", + "community": 265, + "norm_label": "post-merge script" + }, + { + "label": "post-rewrite", + "file_type": "code", + "source_file": "web/.husky/_/post-rewrite", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_post_rewrite", + "community": 266, + "norm_label": "post-rewrite" + }, + { + "label": "post-rewrite script", + "file_type": "code", + "source_file": "web/.husky/_/post-rewrite", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_post_rewrite__entry", + "community": 266, + "norm_label": "post-rewrite script" + }, + { + "label": "pre-applypatch", + "file_type": "code", + "source_file": "web/.husky/_/pre-applypatch", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_pre_applypatch", + "community": 267, + "norm_label": "pre-applypatch" + }, + { + "label": "pre-applypatch script", + "file_type": "code", + "source_file": "web/.husky/_/pre-applypatch", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_pre_applypatch__entry", + "community": 267, + "norm_label": "pre-applypatch script" + }, + { + "label": "pre-auto-gc", + "file_type": "code", + "source_file": "web/.husky/_/pre-auto-gc", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_pre_auto_gc", + "community": 268, + "norm_label": "pre-auto-gc" + }, + { + "label": "pre-auto-gc script", + "file_type": "code", + "source_file": "web/.husky/_/pre-auto-gc", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_pre_auto_gc__entry", + "community": 268, + "norm_label": "pre-auto-gc script" + }, + { + "label": "pre-commit", + "file_type": "code", + "source_file": "web/.husky/_/pre-commit", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_pre_commit", + "community": 269, + "norm_label": "pre-commit" + }, + { + "label": "pre-commit script", + "file_type": "code", + "source_file": "web/.husky/_/pre-commit", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_pre_commit__entry", + "community": 269, + "norm_label": "pre-commit script" + }, + { + "label": "pre-merge-commit", + "file_type": "code", + "source_file": "web/.husky/_/pre-merge-commit", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_pre_merge_commit", + "community": 270, + "norm_label": "pre-merge-commit" + }, + { + "label": "pre-merge-commit script", + "file_type": "code", + "source_file": "web/.husky/_/pre-merge-commit", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_pre_merge_commit__entry", + "community": 270, + "norm_label": "pre-merge-commit script" + }, + { + "label": "pre-push", + "file_type": "code", + "source_file": "web/.husky/_/pre-push", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_pre_push", + "community": 271, + "norm_label": "pre-push" + }, + { + "label": "pre-push script", + "file_type": "code", + "source_file": "web/.husky/_/pre-push", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_pre_push__entry", + "community": 271, + "norm_label": "pre-push script" + }, + { + "label": "pre-rebase", + "file_type": "code", + "source_file": "web/.husky/_/pre-rebase", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_pre_rebase", + "community": 272, + "norm_label": "pre-rebase" + }, + { + "label": "pre-rebase script", + "file_type": "code", + "source_file": "web/.husky/_/pre-rebase", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_pre_rebase__entry", + "community": 272, + "norm_label": "pre-rebase script" + }, + { + "label": "prepare-commit-msg", + "file_type": "code", + "source_file": "web/.husky/_/prepare-commit-msg", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "web_husky_prepare_commit_msg", + "community": 273, + "norm_label": "prepare-commit-msg" + }, + { + "label": "prepare-commit-msg script", + "file_type": "code", + "source_file": "web/.husky/_/prepare-commit-msg", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "web_husky_prepare_commit_msg__entry", + "community": 273, + "norm_label": "prepare-commit-msg script" + }, + { + "label": "app.vue", + "file_type": "code", + "source_file": "web/app/app.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_app", + "community": 228, + "norm_label": "app.vue" + }, + { + "label": "AppToast.vue", + "file_type": "code", + "source_file": "web/app/components/AppToast.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_apptoast", + "community": 188, + "norm_label": "apptoast.vue" + }, + { + "label": "{ lgAndUp }", + "file_type": "code", + "source_file": "web/app/components/AppToast.vue", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_components_apptoast_lgandup", + "community": 188, + "norm_label": "{ lgandup }" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/components/AppToast.vue", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_components_apptoast_notificationsstore", + "community": 188, + "norm_label": "notificationsstore" + }, + { + "label": "notificationActive", + "file_type": "code", + "source_file": "web/app/components/AppToast.vue", + "source_location": "L8", + "_origin": "ast", + "id": "web_app_components_apptoast_notificationactive", + "community": 188, + "norm_label": "notificationactive" + }, + { + "label": "BackButton.vue", + "file_type": "code", + "source_file": "web/app/components/BackButton.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_backbutton", + "community": 169, + "norm_label": "backbutton.vue" + }, + { + "label": "props", + "file_type": "code", + "source_file": "web/app/components/BackButton.vue", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_components_backbutton_props", + "community": 169, + "norm_label": "props" + }, + { + "label": "router", + "file_type": "code", + "source_file": "web/app/components/BackButton.vue", + "source_location": "L17", + "_origin": "ast", + "id": "web_app_components_backbutton_router", + "community": 169, + "norm_label": "router" + }, + { + "label": "{ smAndDown }", + "file_type": "code", + "source_file": "web/app/components/BackButton.vue", + "source_location": "L18", + "_origin": "ast", + "id": "web_app_components_backbutton_smanddown", + "community": 169, + "norm_label": "{ smanddown }" + }, + { + "label": "goBack()", + "file_type": "code", + "source_file": "web/app/components/BackButton.vue", + "source_location": "L20", + "_origin": "ast", + "id": "web_app_components_backbutton_goback", + "community": 169, + "norm_label": "goback()" + }, + { + "label": "BillingDateOrdinal.vue", + "file_type": "code", + "source_file": "web/app/components/BillingDateOrdinal.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_billingdateordinal", + "community": 42, + "norm_label": "billingdateordinal.vue" + }, + { + "label": "props", + "file_type": "code", + "source_file": "web/app/components/BillingDateOrdinal.vue", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_components_billingdateordinal_props", + "community": 42, + "norm_label": "props" + }, + { + "label": "parts", + "file_type": "code", + "source_file": "web/app/components/BillingDateOrdinal.vue", + "source_location": "L7", + "_origin": "ast", + "id": "web_app_components_billingdateordinal_parts", + "community": 42, + "norm_label": "parts" + }, + { + "label": "BlogAuthorBio.vue", + "file_type": "code", + "source_file": "web/app/components/BlogAuthorBio.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_blogauthorbio", + "community": 229, + "norm_label": "blogauthorbio.vue" + }, + { + "label": "BlogInfo.vue", + "file_type": "code", + "source_file": "web/app/components/BlogInfo.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_bloginfo", + "community": 209, + "norm_label": "bloginfo.vue" + }, + { + "label": "props", + "file_type": "code", + "source_file": "web/app/components/BlogInfo.vue", + "source_location": "L2", + "_origin": "ast", + "id": "web_app_components_bloginfo_props", + "community": 209, + "norm_label": "props" + }, + { + "label": "BlogSidebar.vue", + "file_type": "code", + "source_file": "web/app/components/BlogSidebar.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_blogsidebar", + "community": 210, + "norm_label": "blogsidebar.vue" + }, + { + "label": "appStore", + "file_type": "code", + "source_file": "web/app/components/BlogSidebar.vue", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_components_blogsidebar_appstore", + "community": 210, + "norm_label": "appstore" + }, + { + "label": "CopyButton.vue", + "file_type": "code", + "source_file": "web/app/components/CopyButton.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_copybutton", + "community": 151, + "norm_label": "copybutton.vue" + }, + { + "label": "props", + "file_type": "code", + "source_file": "web/app/components/CopyButton.vue", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_components_copybutton_props", + "community": 151, + "norm_label": "props" + }, + { + "label": "{ smAndDown }", + "file_type": "code", + "source_file": "web/app/components/CopyButton.vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_components_copybutton_smanddown", + "community": 151, + "norm_label": "{ smanddown }" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/components/CopyButton.vue", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_components_copybutton_notificationsstore", + "community": 151, + "norm_label": "notificationsstore" + }, + { + "label": "disabled", + "file_type": "code", + "source_file": "web/app/components/CopyButton.vue", + "source_location": "L25", + "_origin": "ast", + "id": "web_app_components_copybutton_disabled", + "community": 151, + "norm_label": "disabled" + }, + { + "label": "copy()", + "file_type": "code", + "source_file": "web/app/components/CopyButton.vue", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_components_copybutton_copy", + "community": 151, + "norm_label": "copy()" + }, + { + "label": "FirebaseAuth.vue", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_firebaseauth", + "community": 31, + "norm_label": "firebaseauth.vue" + }, + { + "label": "props", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L15", + "_origin": "ast", + "id": "web_app_components_firebaseauth_props", + "community": 31, + "norm_label": "props" + }, + { + "label": "router", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L22", + "_origin": "ast", + "id": "web_app_components_firebaseauth_router", + "community": 31, + "norm_label": "router" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_components_firebaseauth_authstore", + "community": 31, + "norm_label": "authstore" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_components_firebaseauth_notificationsstore", + "community": 31, + "norm_label": "notificationsstore" + }, + { + "label": "appStore", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L25", + "_origin": "ast", + "id": "web_app_components_firebaseauth_appstore", + "community": 31, + "norm_label": "appstore" + }, + { + "label": "loading", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_components_firebaseauth_loading", + "community": 31, + "norm_label": "loading" + }, + { + "label": "showEmailForm", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_components_firebaseauth_showemailform", + "community": 31, + "norm_label": "showemailform" + }, + { + "label": "isSignUp", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L29", + "_origin": "ast", + "id": "web_app_components_firebaseauth_issignup", + "community": 31, + "norm_label": "issignup" + }, + { + "label": "showForgotPassword", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L30", + "_origin": "ast", + "id": "web_app_components_firebaseauth_showforgotpassword", + "community": 31, + "norm_label": "showforgotpassword" + }, + { + "label": "resetEmailSent", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L31", + "_origin": "ast", + "id": "web_app_components_firebaseauth_resetemailsent", + "community": 31, + "norm_label": "resetemailsent" + }, + { + "label": "showPassword", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L32", + "_origin": "ast", + "id": "web_app_components_firebaseauth_showpassword", + "community": 31, + "norm_label": "showpassword" + }, + { + "label": "email", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L33", + "_origin": "ast", + "id": "web_app_components_firebaseauth_email", + "community": 31, + "norm_label": "email" + }, + { + "label": "password", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L34", + "_origin": "ast", + "id": "web_app_components_firebaseauth_password", + "community": 31, + "norm_label": "password" + }, + { + "label": "generalError", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L35", + "_origin": "ast", + "id": "web_app_components_firebaseauth_generalerror", + "community": 31, + "norm_label": "generalerror" + }, + { + "label": "errorMessages", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L36", + "_origin": "ast", + "id": "web_app_components_firebaseauth_errormessages", + "community": 31, + "norm_label": "errormessages" + }, + { + "label": "LoginMethod", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L38", + "_origin": "ast", + "id": "web_app_components_firebaseauth_loginmethod", + "community": 31, + "norm_label": "loginmethod" + }, + { + "label": "lastUsedMethod", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L40", + "_origin": "ast", + "id": "web_app_components_firebaseauth_lastusedmethod", + "community": 31, + "norm_label": "lastusedmethod" + }, + { + "label": "clearErrors()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L53", + "_origin": "ast", + "id": "web_app_components_firebaseauth_clearerrors", + "community": 31, + "norm_label": "clearerrors()" + }, + { + "label": "validateEmail()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L58", + "_origin": "ast", + "id": "web_app_components_firebaseauth_validateemail", + "community": 31, + "norm_label": "validateemail()" + }, + { + "label": "validateLoginForm()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L72", + "_origin": "ast", + "id": "web_app_components_firebaseauth_validateloginform", + "community": 31, + "norm_label": "validateloginform()" + }, + { + "label": "signInWithGoogle()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L92", + "_origin": "ast", + "id": "web_app_components_firebaseauth_signinwithgoogle", + "community": 31, + "norm_label": "signinwithgoogle()" + }, + { + "label": "signInWithGithub()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L105", + "_origin": "ast", + "id": "web_app_components_firebaseauth_signinwithgithub", + "community": 31, + "norm_label": "signinwithgithub()" + }, + { + "label": "submitEmail()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L118", + "_origin": "ast", + "id": "web_app_components_firebaseauth_submitemail", + "community": 31, + "norm_label": "submitemail()" + }, + { + "label": "submitEmailViaApi()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L155", + "_origin": "ast", + "id": "web_app_components_firebaseauth_submitemailviaapi", + "community": 31, + "norm_label": "submitemailviaapi()" + }, + { + "label": "submitPasswordReset()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L174", + "_origin": "ast", + "id": "web_app_components_firebaseauth_submitpasswordreset", + "community": 31, + "norm_label": "submitpasswordreset()" + }, + { + "label": "showForgotPasswordForm()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L188", + "_origin": "ast", + "id": "web_app_components_firebaseauth_showforgotpasswordform", + "community": 31, + "norm_label": "showforgotpasswordform()" + }, + { + "label": "backToSignIn()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L194", + "_origin": "ast", + "id": "web_app_components_firebaseauth_backtosignin", + "community": 31, + "norm_label": "backtosignin()" + }, + { + "label": "onSuccess()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L200", + "_origin": "ast", + "id": "web_app_components_firebaseauth_onsuccess", + "community": 31, + "norm_label": "onsuccess()" + }, + { + "label": "shouldRetryWithFirebaseSdk()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L214", + "_origin": "ast", + "id": "web_app_components_firebaseauth_shouldretrywithfirebasesdk", + "community": 31, + "norm_label": "shouldretrywithfirebasesdk()" + }, + { + "label": "handleApiAuthError()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L223", + "_origin": "ast", + "id": "web_app_components_firebaseauth_handleapiautherror", + "community": 31, + "norm_label": "handleapiautherror()" + }, + { + "label": "handleError()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L243", + "_origin": "ast", + "id": "web_app_components_firebaseauth_handleerror", + "community": 31, + "norm_label": "handleerror()" + }, + { + "label": "getGeneralErrorMessage()", + "file_type": "code", + "source_file": "web/app/components/FirebaseAuth.vue", + "source_location": "L302", + "_origin": "ast", + "id": "web_app_components_firebaseauth_getgeneralerrormessage", + "community": 31, + "norm_label": "getgeneralerrormessage()" + }, + { + "label": "FixedHeader.vue", + "file_type": "code", + "source_file": "web/app/components/FixedHeader.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_fixedheader", + "community": 211, + "norm_label": "fixedheader.vue" + }, + { + "label": "{ lgAndUp, mdAndDown }", + "file_type": "code", + "source_file": "web/app/components/FixedHeader.vue", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_components_fixedheader_lgandup_mdanddown", + "community": 211, + "norm_label": "{ lgandup, mdanddown }" + }, + { + "label": "LoadingButton.vue", + "file_type": "code", + "source_file": "web/app/components/LoadingButton.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_loadingbutton", + "community": 152, + "norm_label": "loadingbutton.vue" + }, + { + "label": "props", + "file_type": "code", + "source_file": "web/app/components/LoadingButton.vue", + "source_location": "L2", + "_origin": "ast", + "id": "web_app_components_loadingbutton_props", + "community": 152, + "norm_label": "props" + }, + { + "label": "emit", + "file_type": "code", + "source_file": "web/app/components/LoadingButton.vue", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_components_loadingbutton_emit", + "community": 152, + "norm_label": "emit" + }, + { + "label": "isClicked", + "file_type": "code", + "source_file": "web/app/components/LoadingButton.vue", + "source_location": "L33", + "_origin": "ast", + "id": "web_app_components_loadingbutton_isclicked", + "community": 152, + "norm_label": "isclicked" + }, + { + "label": "onClick()", + "file_type": "code", + "source_file": "web/app/components/LoadingButton.vue", + "source_location": "L44", + "_origin": "ast", + "id": "web_app_components_loadingbutton_onclick", + "community": 152, + "norm_label": "onclick()" + }, + { + "label": "size", + "file_type": "code", + "source_file": "web/app/components/LoadingButton.vue", + "source_location": "L49", + "_origin": "ast", + "id": "web_app_components_loadingbutton_size", + "community": 152, + "norm_label": "size" + }, + { + "label": "LoadingDashboard.vue", + "file_type": "code", + "source_file": "web/app/components/LoadingDashboard.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_loadingdashboard", + "community": 212, + "norm_label": "loadingdashboard.vue" + }, + { + "label": "{ mdAndDown }", + "file_type": "code", + "source_file": "web/app/components/LoadingDashboard.vue", + "source_location": "L3", + "_origin": "ast", + "id": "web_app_components_loadingdashboard_mdanddown", + "community": 212, + "norm_label": "{ mdanddown }" + }, + { + "label": "MessageThread.vue", + "file_type": "code", + "source_file": "web/app/components/MessageThread.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_messagethread", + "community": 80, + "norm_label": "messagethread.vue" + }, + { + "label": "threadsStore", + "file_type": "code", + "source_file": "web/app/components/MessageThread.vue", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_components_messagethread_threadsstore", + "community": 80, + "norm_label": "threadsstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/components/MessageThread.vue", + "source_location": "L13", + "_origin": "ast", + "id": "web_app_components_messagethread_phonesstore", + "community": 80, + "norm_label": "phonesstore" + }, + { + "label": "appStore", + "file_type": "code", + "source_file": "web/app/components/MessageThread.vue", + "source_location": "L14", + "_origin": "ast", + "id": "web_app_components_messagethread_appstore", + "community": 80, + "norm_label": "appstore" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/components/MessageThread.vue", + "source_location": "L15", + "_origin": "ast", + "id": "web_app_components_messagethread_notificationsstore", + "community": 80, + "norm_label": "notificationsstore" + }, + { + "label": "threadDate()", + "file_type": "code", + "source_file": "web/app/components/MessageThread.vue", + "source_location": "L17", + "_origin": "ast", + "id": "web_app_components_messagethread_threaddate", + "community": 80, + "norm_label": "threaddate()" + }, + { + "label": "onInstallApp()", + "file_type": "code", + "source_file": "web/app/components/MessageThread.vue", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_components_messagethread_oninstallapp", + "community": 80, + "norm_label": "oninstallapp()" + }, + { + "label": "MessageThreadHeader.vue", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_messagethreadheader", + "community": 78, + "norm_label": "messagethreadheader.vue" + }, + { + "label": "router", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L22", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_router", + "community": 78, + "norm_label": "router" + }, + { + "label": "route", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_route", + "community": 78, + "norm_label": "route" + }, + { + "label": "{ mdAndDown, lgAndUp }", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_mdanddown_lgandup", + "community": 78, + "norm_label": "{ mdanddown, lgandup }" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L25", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_authstore", + "community": 78, + "norm_label": "authstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L26", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_phonesstore", + "community": 78, + "norm_label": "phonesstore" + }, + { + "label": "threadsStore", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_threadsstore", + "community": 78, + "norm_label": "threadsstore" + }, + { + "label": "appStore", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_appstore", + "community": 78, + "norm_label": "appstore" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L29", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_notificationsstore", + "community": 78, + "norm_label": "notificationsstore" + }, + { + "label": "selectedMenuItem", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L31", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_selectedmenuitem", + "community": 78, + "norm_label": "selectedmenuitem" + }, + { + "label": "SelectItem", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L33", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_selectitem", + "community": 78, + "norm_label": "selectitem" + }, + { + "label": "owners", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L38", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_owners", + "community": 78, + "norm_label": "owners" + }, + { + "label": "onOwnerChanged()", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L45", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_onownerchanged", + "community": 78, + "norm_label": "onownerchanged()" + }, + { + "label": "toggleArchive()", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L55", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_togglearchive", + "community": 78, + "norm_label": "togglearchive()" + }, + { + "label": "logout()", + "file_type": "code", + "source_file": "web/app/components/MessageThreadHeader.vue", + "source_location": "L68", + "_origin": "ast", + "id": "web_app_components_messagethreadheader_logout", + "community": 78, + "norm_label": "logout()" + }, + { + "label": "NuxtLogo.vue", + "file_type": "code", + "source_file": "web/app/components/NuxtLogo.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_nuxtlogo", + "community": 230, + "norm_label": "nuxtlogo.vue" + }, + { + "label": "ThemeToggle.vue", + "file_type": "code", + "source_file": "web/app/components/ThemeToggle.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_components_themetoggle", + "community": 205, + "norm_label": "themetoggle.vue" + }, + { + "label": "theme", + "file_type": "code", + "source_file": "web/app/components/ThemeToggle.vue", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_components_themetoggle_theme", + "community": 205, + "norm_label": "theme" + }, + { + "label": "isDark", + "file_type": "code", + "source_file": "web/app/components/ThemeToggle.vue", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_components_themetoggle_isdark", + "community": 205, + "norm_label": "isdark" + }, + { + "label": "toggleTheme()", + "file_type": "code", + "source_file": "web/app/components/ThemeToggle.vue", + "source_location": "L8", + "_origin": "ast", + "id": "web_app_components_themetoggle_toggletheme", + "community": 205, + "norm_label": "toggletheme()" + }, + { + "label": "useApi.ts", + "file_type": "code", + "source_file": "web/app/composables/useApi.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_composables_useapi", + "community": 95, + "norm_label": "useapi.ts" + }, + { + "label": "setAuthHeader()", + "file_type": "code", + "source_file": "web/app/composables/useApi.ts", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_composables_useapi_setauthheader", + "community": 95, + "norm_label": "setauthheader()" + }, + { + "label": "setApiKey()", + "file_type": "code", + "source_file": "web/app/composables/useApi.ts", + "source_location": "L10", + "_origin": "ast", + "id": "web_app_composables_useapi_setapikey", + "community": 95, + "norm_label": "setapikey()" + }, + { + "label": "createApiFetch()", + "file_type": "code", + "source_file": "web/app/composables/useApi.ts", + "source_location": "L14", + "_origin": "ast", + "id": "web_app_composables_useapi_createapifetch", + "community": 95, + "norm_label": "createapifetch()" + }, + { + "label": "useApi()", + "file_type": "code", + "source_file": "web/app/composables/useApi.ts", + "source_location": "L37", + "_origin": "ast", + "id": "web_app_composables_useapi_useapi", + "community": 95, + "norm_label": "useapi()" + }, + { + "label": "useApiComposable()", + "file_type": "code", + "source_file": "web/app/composables/useApi.ts", + "source_location": "L41", + "_origin": "ast", + "id": "web_app_composables_useapi_useapicomposable", + "community": 95, + "norm_label": "useapicomposable()" + }, + { + "label": "useFilters.ts", + "file_type": "code", + "source_file": "web/app/composables/useFilters.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_composables_usefilters", + "community": 42, + "norm_label": "usefilters.ts" + }, + { + "label": "useFilters()", + "file_type": "code", + "source_file": "web/app/composables/useFilters.ts", + "source_location": "L13", + "_origin": "ast", + "id": "web_app_composables_usefilters_usefilters", + "community": 42, + "norm_label": "usefilters()" + }, + { + "label": "blank.vue", + "file_type": "code", + "source_file": "web/app/layouts/blank.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_layouts_blank", + "community": 231, + "norm_label": "blank.vue" + }, + { + "label": "default.vue", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_layouts_default", + "community": 167, + "norm_label": "default.vue" + }, + { + "label": "route", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_layouts_default_route", + "community": 167, + "norm_label": "route" + }, + { + "label": "config", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L7", + "_origin": "ast", + "id": "web_app_layouts_default_config", + "community": 167, + "norm_label": "config" + }, + { + "label": "{ lgAndUp }", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L8", + "_origin": "ast", + "id": "web_app_layouts_default_lgandup", + "community": 167, + "norm_label": "{ lgandup }" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L9", + "_origin": "ast", + "id": "web_app_layouts_default_authstore", + "community": 167, + "norm_label": "authstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L10", + "_origin": "ast", + "id": "web_app_layouts_default_phonesstore", + "community": 167, + "norm_label": "phonesstore" + }, + { + "label": "threadsStore", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L11", + "_origin": "ast", + "id": "web_app_layouts_default_threadsstore", + "community": 167, + "norm_label": "threadsstore" + }, + { + "label": "appStore", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_layouts_default_appstore", + "community": 167, + "norm_label": "appstore" + }, + { + "label": "hasDrawer", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L17", + "_origin": "ast", + "id": "web_app_layouts_default_hasdrawer", + "community": 167, + "norm_label": "hasdrawer" + }, + { + "label": "startPoller()", + "file_type": "code", + "source_file": "web/app/layouts/default.vue", + "source_location": "L47", + "_origin": "ast", + "id": "web_app_layouts_default_startpoller", + "community": 167, + "norm_label": "startpoller()" + }, + { + "label": "pusher-js", + "file_type": "code", + "source_file": "pusher-js", + "confidence": "EXTRACTED", + "_origin": "ast", + "id": "pusher_js", + "community": 167, + "norm_label": "pusher-js" + }, + { + "label": "error.vue", + "file_type": "code", + "source_file": "web/app/layouts/error.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_layouts_error", + "community": 232, + "norm_label": "error.vue" + }, + { + "label": "website.vue", + "file_type": "code", + "source_file": "web/app/layouts/website.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_layouts_website", + "community": 142, + "norm_label": "website.vue" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/layouts/website.vue", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_layouts_website_authstore", + "community": 142, + "norm_label": "authstore" + }, + { + "label": "appStore", + "file_type": "code", + "source_file": "web/app/layouts/website.vue", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_layouts_website_appstore", + "community": 142, + "norm_label": "appstore" + }, + { + "label": "auth.ts", + "file_type": "code", + "source_file": "web/app/middleware/auth.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_middleware_auth", + "community": 95, + "norm_label": "auth.ts" + }, + { + "label": "guest.ts", + "file_type": "code", + "source_file": "web/app/middleware/guest.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_middleware_guest", + "community": 233, + "norm_label": "guest.ts" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/billing/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_billing_index", + "community": 155, + "norm_label": "index.vue" + }, + { + "label": "billingStore", + "file_type": "code", + "source_file": "web/app/pages/billing/index.vue", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_pages_billing_index_billingstore", + "community": 155, + "norm_label": "billingstore" + }, + { + "label": "loading", + "file_type": "code", + "source_file": "web/app/pages/billing/index.vue", + "source_location": "L13", + "_origin": "ast", + "id": "web_app_pages_billing_index_loading", + "community": 155, + "norm_label": "loading" + }, + { + "label": "sent", + "file_type": "code", + "source_file": "web/app/pages/billing/index.vue", + "source_location": "L15", + "_origin": "ast", + "id": "web_app_pages_billing_index_sent", + "community": 155, + "norm_label": "sent" + }, + { + "label": "received", + "file_type": "code", + "source_file": "web/app/pages/billing/index.vue", + "source_location": "L16", + "_origin": "ast", + "id": "web_app_pages_billing_index_received", + "community": 155, + "norm_label": "received" + }, + { + "label": "total", + "file_type": "code", + "source_file": "web/app/pages/billing/index.vue", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_pages_billing_index_total", + "community": 155, + "norm_label": "total" + }, + { + "label": "end-to-end-encryption-to-sms-messages.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/end-to-end-encryption-to-sms-messages.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_end_to_end_encryption_to_sms_messages", + "community": 170, + "norm_label": "end-to-end-encryption-to-sms-messages.vue" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/blog/end-to-end-encryption-to-sms-messages.vue", + "source_location": "L7", + "_origin": "ast", + "id": "web_app_pages_blog_end_to_end_encryption_to_sms_messages_mdandup", + "community": 170, + "norm_label": "{ mdandup }" + }, + { + "label": "encryptTab", + "file_type": "code", + "source_file": "web/app/pages/blog/end-to-end-encryption-to-sms-messages.vue", + "source_location": "L9", + "_origin": "ast", + "id": "web_app_pages_blog_end_to_end_encryption_to_sms_messages_encrypttab", + "community": 170, + "norm_label": "encrypttab" + }, + { + "label": "sendTab", + "file_type": "code", + "source_file": "web/app/pages/blog/end-to-end-encryption-to-sms-messages.vue", + "source_location": "L10", + "_origin": "ast", + "id": "web_app_pages_blog_end_to_end_encryption_to_sms_messages_sendtab", + "community": 170, + "norm_label": "sendtab" + }, + { + "label": "receiveTab", + "file_type": "code", + "source_file": "web/app/pages/blog/end-to-end-encryption-to-sms-messages.vue", + "source_location": "L11", + "_origin": "ast", + "id": "web_app_pages_blog_end_to_end_encryption_to_sms_messages_receivetab", + "community": 170, + "norm_label": "receivetab" + }, + { + "label": "forward-incoming-sms-from-phone-to-webhook.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/forward-incoming-sms-from-phone-to-webhook.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_forward_incoming_sms_from_phone_to_webhook", + "community": 213, + "norm_label": "forward-incoming-sms-from-phone-to-webhook.vue" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/blog/forward-incoming-sms-from-phone-to-webhook.vue", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_pages_blog_forward_incoming_sms_from_phone_to_webhook_mdandup", + "community": 213, + "norm_label": "{ mdandup }" + }, + { + "label": "grant-send-and-read-sms-permissions-on-android.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/grant-send-and-read-sms-permissions-on-android.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_grant_send_and_read_sms_permissions_on_android", + "community": 214, + "norm_label": "grant-send-and-read-sms-permissions-on-android.vue" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/blog/grant-send-and-read-sms-permissions-on-android.vue", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_pages_blog_grant_send_and_read_sms_permissions_on_android_mdandup", + "community": 214, + "norm_label": "{ mdandup }" + }, + { + "label": "how-to-send-sms-messages-from-excel.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/how-to-send-sms-messages-from-excel.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_how_to_send_sms_messages_from_excel", + "community": 215, + "norm_label": "how-to-send-sms-messages-from-excel.vue" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/blog/how-to-send-sms-messages-from-excel.vue", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_pages_blog_how_to_send_sms_messages_from_excel_mdandup", + "community": 215, + "norm_label": "{ mdandup }" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_index", + "community": 171, + "norm_label": "index.vue" + }, + { + "label": "{ mdAndUp, smAndDown }", + "file_type": "code", + "source_file": "web/app/pages/blog/index.vue", + "source_location": "L2", + "_origin": "ast", + "id": "web_app_pages_blog_index_mdandup_smanddown", + "community": 171, + "norm_label": "{ mdandup, smanddown }" + }, + { + "label": "Article", + "file_type": "code", + "source_file": "web/app/pages/blog/index.vue", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_pages_blog_index_article", + "community": 171, + "norm_label": "article" + }, + { + "label": "articles", + "file_type": "code", + "source_file": "web/app/pages/blog/index.vue", + "source_location": "L29", + "_origin": "ast", + "id": "web_app_pages_blog_index_articles", + "community": 171, + "norm_label": "articles" + }, + { + "label": "sortedArticles", + "file_type": "code", + "source_file": "web/app/pages/blog/index.vue", + "source_location": "L104", + "_origin": "ast", + "id": "web_app_pages_blog_index_sortedarticles", + "community": 171, + "norm_label": "sortedarticles" + }, + { + "label": "send-bulk-sms-from-csv-file-with-no-code.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/send-bulk-sms-from-csv-file-with-no-code.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_send_bulk_sms_from_csv_file_with_no_code", + "community": 216, + "norm_label": "send-bulk-sms-from-csv-file-with-no-code.vue" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/blog/send-bulk-sms-from-csv-file-with-no-code.vue", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_pages_blog_send_bulk_sms_from_csv_file_with_no_code_mdandup", + "community": 216, + "norm_label": "{ mdandup }" + }, + { + "label": "send-sms-from-android-phone-with-python.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/send-sms-from-android-phone-with-python.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_send_sms_from_android_phone_with_python", + "community": 217, + "norm_label": "send-sms-from-android-phone-with-python.vue" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/blog/send-sms-from-android-phone-with-python.vue", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_pages_blog_send_sms_from_android_phone_with_python_mdandup", + "community": 217, + "norm_label": "{ mdandup }" + }, + { + "label": "send-sms-when-new-row-is-added-to-google-sheets-using-zapier.vue", + "file_type": "code", + "source_file": "web/app/pages/blog/send-sms-when-new-row-is-added-to-google-sheets-using-zapier.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_blog_send_sms_when_new_row_is_added_to_google_sheets_using_zapier", + "community": 218, + "norm_label": "send-sms-when-new-row-is-added-to-google-sheets-using-zapier.vue" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/blog/send-sms-when-new-row-is-added-to-google-sheets-using-zapier.vue", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_pages_blog_send_sms_when_new_row_is_added_to_google_sheets_using_zapier_mdandup", + "community": 218, + "norm_label": "{ mdandup }" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index", + "community": 44, + "norm_label": "index.vue" + }, + { + "label": "router", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L16", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_router", + "community": 44, + "norm_label": "router" + }, + { + "label": "{ mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L17", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_mdandup", + "community": 44, + "norm_label": "{ mdandup }" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L18", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_authstore", + "community": 44, + "norm_label": "authstore" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_notificationsstore", + "community": 44, + "norm_label": "notificationsstore" + }, + { + "label": "{ formatTimestamp }", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L20", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_formattimestamp", + "community": 44, + "norm_label": "{ formattimestamp }" + }, + { + "label": "{ useApi }", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L21", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_useapi", + "community": 44, + "norm_label": "{ useapi }" + }, + { + "label": "formFile", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_formfile", + "community": 44, + "norm_label": "formfile" + }, + { + "label": "loading", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_loading", + "community": 44, + "norm_label": "loading" + }, + { + "label": "loadingHistory", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L25", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_loadinghistory", + "community": 44, + "norm_label": "loadinghistory" + }, + { + "label": "errorTitle", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L26", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_errortitle", + "community": 44, + "norm_label": "errortitle" + }, + { + "label": "errorMessages", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_errormessages", + "community": 44, + "norm_label": "errormessages" + }, + { + "label": "bulkOrders", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_bulkorders", + "community": 44, + "norm_label": "bulkorders" + }, + { + "label": "parseErrors()", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L30", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_parseerrors", + "community": 44, + "norm_label": "parseerrors()" + }, + { + "label": "cleanName()", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L39", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_cleanname", + "community": 44, + "norm_label": "cleanname()" + }, + { + "label": "fetchBulkOrders()", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L49", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_fetchbulkorders", + "community": 44, + "norm_label": "fetchbulkorders()" + }, + { + "label": "sendBulkMessages()", + "file_type": "code", + "source_file": "web/app/pages/bulk-messages/index.vue", + "source_location": "L70", + "_origin": "ast", + "id": "web_app_pages_bulk_messages_index_sendbulkmessages", + "community": 44, + "norm_label": "sendbulkmessages()" + }, + { + "label": "[id].vue", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id", + "community": 62, + "norm_label": "[id].vue" + }, + { + "label": "route", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_route", + "community": 62, + "norm_label": "route" + }, + { + "label": "{ mdAndDown, mdAndUp, lgAndUp }", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L20", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_mdanddown_mdandup_lgandup", + "community": 62, + "norm_label": "{ mdanddown, mdandup, lgandup }" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L21", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_authstore", + "community": 62, + "norm_label": "authstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L22", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_phonesstore", + "community": 62, + "norm_label": "phonesstore" + }, + { + "label": "{ formatPhoneNumber, formatTimestamp }", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_formatphonenumber_formattimestamp", + "community": 62, + "norm_label": "{ formatphonenumber, formattimestamp }" + }, + { + "label": "loading", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L25", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_loading", + "community": 62, + "norm_label": "loading" + }, + { + "label": "heartbeats", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L26", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_heartbeats", + "community": 62, + "norm_label": "heartbeats" + }, + { + "label": "phoneId", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_phoneid", + "community": 62, + "norm_label": "phoneid" + }, + { + "label": "HeartbeatTableItem", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L29", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_heartbeattableitem", + "community": 62, + "norm_label": "heartbeattableitem" + }, + { + "label": "dataTableHeaders", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L36", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_datatableheaders", + "community": 62, + "norm_label": "datatableheaders" + }, + { + "label": "getDiff()", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L43", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_getdiff", + "community": 62, + "norm_label": "getdiff()" + }, + { + "label": "formatInterval()", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L47", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_formatinterval", + "community": 62, + "norm_label": "formatinterval()" + }, + { + "label": "dataTableItems", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L59", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_datatableitems", + "community": 62, + "norm_label": "datatableitems" + }, + { + "label": "chartData", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L77", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_chartdata", + "community": 62, + "norm_label": "chartdata" + }, + { + "label": "chartOptions", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L106", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_chartoptions", + "community": 62, + "norm_label": "chartoptions" + }, + { + "label": "loadHeartbeats()", + "file_type": "code", + "source_file": "web/app/pages/heartbeats/[id].vue", + "source_location": "L137", + "_origin": "ast", + "id": "web_app_pages_heartbeats_id_loadheartbeats", + "community": 62, + "norm_label": "loadheartbeats()" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_index", + "community": 93, + "norm_label": "index.vue" + }, + { + "label": "features", + "file_type": "code", + "source_file": "web/app/pages/index.vue", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_pages_index_features", + "community": 93, + "norm_label": "features" + }, + { + "label": "login.vue", + "file_type": "code", + "source_file": "web/app/pages/login.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_login", + "community": 202, + "norm_label": "login.vue" + }, + { + "label": "route", + "file_type": "code", + "source_file": "web/app/pages/login.vue", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_pages_login_route", + "community": 202, + "norm_label": "route" + }, + { + "label": "to", + "file_type": "code", + "source_file": "web/app/pages/login.vue", + "source_location": "L13", + "_origin": "ast", + "id": "web_app_pages_login_to", + "community": 202, + "norm_label": "to" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_messages_index", + "community": 79, + "norm_label": "index.vue" + }, + { + "label": "router", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_pages_messages_index_router", + "community": 79, + "norm_label": "router" + }, + { + "label": "{ mdAndDown, mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L20", + "_origin": "ast", + "id": "web_app_pages_messages_index_mdanddown_mdandup", + "community": 79, + "norm_label": "{ mdanddown, mdandup }" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L21", + "_origin": "ast", + "id": "web_app_pages_messages_index_notificationsstore", + "community": 79, + "norm_label": "notificationsstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L22", + "_origin": "ast", + "id": "web_app_pages_messages_index_phonesstore", + "community": 79, + "norm_label": "phonesstore" + }, + { + "label": "{ useApi }", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_pages_messages_index_useapi", + "community": 79, + "norm_label": "{ useapi }" + }, + { + "label": "{ formatPhoneNumber }", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_pages_messages_index_formatphonenumber", + "community": 79, + "norm_label": "{ formatphonenumber }" + }, + { + "label": "sending", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L26", + "_origin": "ast", + "id": "web_app_pages_messages_index_sending", + "community": 79, + "norm_label": "sending" + }, + { + "label": "formPhoneNumber", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_pages_messages_index_formphonenumber", + "community": 79, + "norm_label": "formphonenumber" + }, + { + "label": "phoneCountry", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_pages_messages_index_phonecountry", + "community": 79, + "norm_label": "phonecountry" + }, + { + "label": "formContent", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L29", + "_origin": "ast", + "id": "web_app_pages_messages_index_formcontent", + "community": 79, + "norm_label": "formcontent" + }, + { + "label": "formAttachments", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L30", + "_origin": "ast", + "id": "web_app_pages_messages_index_formattachments", + "community": 79, + "norm_label": "formattachments" + }, + { + "label": "errors", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L31", + "_origin": "ast", + "id": "web_app_pages_messages_index_errors", + "community": 79, + "norm_label": "errors" + }, + { + "label": "getRecipientNumber()", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L33", + "_origin": "ast", + "id": "web_app_pages_messages_index_getrecipientnumber", + "community": 79, + "norm_label": "getrecipientnumber()" + }, + { + "label": "sendMessage()", + "file_type": "code", + "source_file": "web/app/pages/messages/index.vue", + "source_location": "L49", + "_origin": "ast", + "id": "web_app_pages_messages_index_sendmessage", + "community": 79, + "norm_label": "sendmessage()" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index", + "community": 32, + "norm_label": "index.vue" + }, + { + "label": "config", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L17", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_config", + "community": 32, + "norm_label": "config" + }, + { + "label": "{ lgAndUp }", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L18", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_lgandup", + "community": 32, + "norm_label": "{ lgandup }" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_authstore", + "community": 32, + "norm_label": "authstore" + }, + { + "label": "appStore", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L20", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_appstore", + "community": 32, + "norm_label": "appstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L21", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_phonesstore", + "community": 32, + "norm_label": "phonesstore" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L22", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_notificationsstore", + "community": 32, + "norm_label": "notificationsstore" + }, + { + "label": "{ formatTimestamp, formatPhoneNumber }", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_formattimestamp_formatphonenumber", + "community": 32, + "norm_label": "{ formattimestamp, formatphonenumber }" + }, + { + "label": "{ useApi }", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_useapi", + "community": 32, + "norm_label": "{ useapi }" + }, + { + "label": "loading", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L26", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_loading", + "community": 32, + "norm_label": "loading" + }, + { + "label": "phoneApiKeys", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_phoneapikeys", + "community": 32, + "norm_label": "phoneapikeys" + }, + { + "label": "errorMessages", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_errormessages", + "community": 32, + "norm_label": "errormessages" + }, + { + "label": "showCreateApiKeyDialog", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L30", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_showcreateapikeydialog", + "community": 32, + "norm_label": "showcreateapikeydialog" + }, + { + "label": "formPhoneApiKeyName", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L31", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_formphoneapikeyname", + "community": 32, + "norm_label": "formphoneapikeyname" + }, + { + "label": "showPhoneApiKeyQrCode", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L33", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_showphoneapikeyqrcode", + "community": 32, + "norm_label": "showphoneapikeyqrcode" + }, + { + "label": "deleteApiKeyDialog", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L34", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_deleteapikeydialog", + "community": 32, + "norm_label": "deleteapikeydialog" + }, + { + "label": "removePhoneFromApiKeyDialog", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L35", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_removephonefromapikeydialog", + "community": 32, + "norm_label": "removephonefromapikeydialog" + }, + { + "label": "activePhoneApiKey", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L36", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_activephoneapikey", + "community": 32, + "norm_label": "activephoneapikey" + }, + { + "label": "activePhoneNumber", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L37", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_activephonenumber", + "community": 32, + "norm_label": "activephonenumber" + }, + { + "label": "qrCodeCanvas", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L39", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_qrcodecanvas", + "community": 32, + "norm_label": "qrcodecanvas" + }, + { + "label": "openCreateApiKeyDialog()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L42", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_opencreateapikeydialog", + "community": 32, + "norm_label": "opencreateapikeydialog()" + }, + { + "label": "parseErrors()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L48", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_parseerrors", + "community": 32, + "norm_label": "parseerrors()" + }, + { + "label": "loadPhoneApiKeys()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L57", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_loadphoneapikeys", + "community": 32, + "norm_label": "loadphoneapikeys()" + }, + { + "label": "createPhoneApiKey()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L76", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_createphoneapikey", + "community": 32, + "norm_label": "createphoneapikey()" + }, + { + "label": "generateQrCode()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L105", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_generateqrcode", + "community": 32, + "norm_label": "generateqrcode()" + }, + { + "label": "showPhoneApiKey()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L125", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_showphoneapikey", + "community": 32, + "norm_label": "showphoneapikey()" + }, + { + "label": "showDeletePhoneApiKeyDialog()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L133", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_showdeletephoneapikeydialog", + "community": 32, + "norm_label": "showdeletephoneapikeydialog()" + }, + { + "label": "showRemovePhoneFromApiKeyDialog()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L138", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_showremovephonefromapikeydialog", + "community": 32, + "norm_label": "showremovephonefromapikeydialog()" + }, + { + "label": "deleteApiKey()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L147", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_deleteapikey", + "community": 32, + "norm_label": "deleteapikey()" + }, + { + "label": "removePhoneFromPhoneKey()", + "file_type": "code", + "source_file": "web/app/pages/phone-api-keys/index.vue", + "source_location": "L172", + "_origin": "ast", + "id": "web_app_pages_phone_api_keys_index_removephonefromphonekey", + "community": 32, + "norm_label": "removephonefromphonekey()" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/privacy-policy/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_privacy_policy_index", + "community": 234, + "norm_label": "index.vue" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_search_messages_index", + "community": 12, + "norm_label": "index.vue" + }, + { + "label": "Turnstile", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L21", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_turnstile", + "community": 12, + "norm_label": "turnstile" + }, + { + "label": ".ready()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L22", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_turnstile_ready", + "community": 12, + "norm_label": ".ready()" + }, + { + "label": ".render()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_turnstile_render", + "community": 12, + "norm_label": ".render()" + }, + { + "label": ".remove()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L32", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_turnstile_remove", + "community": 12, + "norm_label": ".remove()" + }, + { + "label": "route", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L43", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_route", + "community": 12, + "norm_label": "route" + }, + { + "label": "config", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L44", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_config", + "community": 12, + "norm_label": "config" + }, + { + "label": "{ mdAndUp, smAndDown, lgAndUp }", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L45", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_mdandup_smanddown_lgandup", + "community": 12, + "norm_label": "{ mdandup, smanddown, lgandup }" + }, + { + "label": "messagesStore", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L46", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_messagesstore", + "community": 12, + "norm_label": "messagesstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L47", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_phonesstore", + "community": 12, + "norm_label": "phonesstore" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L48", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_authstore", + "community": 12, + "norm_label": "authstore" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L49", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_notificationsstore", + "community": 12, + "norm_label": "notificationsstore" + }, + { + "label": "{ useApi }", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L50", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_useapi", + "community": 12, + "norm_label": "{ useapi }" + }, + { + "label": "{ formatPhoneNumber, formatTimestamp, capitalize }", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L51", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_formatphonenumber_formattimestamp_capitalize", + "community": 12, + "norm_label": "{ formatphonenumber, formattimestamp, capitalize }" + }, + { + "label": "loading", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L53", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_loading", + "community": 12, + "norm_label": "loading" + }, + { + "label": "initialLoadComplete", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L54", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_initialloadcomplete", + "community": 12, + "norm_label": "initialloadcomplete" + }, + { + "label": "errorTitle", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L55", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_errortitle", + "community": 12, + "norm_label": "errortitle" + }, + { + "label": "showDeleteDialog", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L56", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_showdeletedialog", + "community": 12, + "norm_label": "showdeletedialog" + }, + { + "label": "showResendDialog", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L57", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_showresenddialog", + "community": 12, + "norm_label": "showresenddialog" + }, + { + "label": "errorMessages", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L58", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_errormessages", + "community": 12, + "norm_label": "errormessages" + }, + { + "label": "formOwners", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L60", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_formowners", + "community": 12, + "norm_label": "formowners" + }, + { + "label": "formTypes", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L61", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_formtypes", + "community": 12, + "norm_label": "formtypes" + }, + { + "label": "formStatuses", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L62", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_formstatuses", + "community": 12, + "norm_label": "formstatuses" + }, + { + "label": "formQuery", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L63", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_formquery", + "community": 12, + "norm_label": "formquery" + }, + { + "label": "messages", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L65", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_messages", + "community": 12, + "norm_label": "messages" + }, + { + "label": "totalMessages", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L66", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_totalmessages", + "community": 12, + "norm_label": "totalmessages" + }, + { + "label": "selectedIds", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L67", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_selectedids", + "community": 12, + "norm_label": "selectedids" + }, + { + "label": "page", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L70", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_page", + "community": 12, + "norm_label": "page" + }, + { + "label": "itemsPerPage", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L71", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_itemsperpage", + "community": 12, + "norm_label": "itemsperpage" + }, + { + "label": "sortBy", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L72", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_sortby", + "community": 12, + "norm_label": "sortby" + }, + { + "label": "itemsPerPageOptions", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L76", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_itemsperpageoptions", + "community": 12, + "norm_label": "itemsperpageoptions" + }, + { + "label": "headers", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L83", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_headers", + "community": 12, + "norm_label": "headers" + }, + { + "label": "selectedMessages", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L92", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_selectedmessages", + "community": 12, + "norm_label": "selectedmessages" + }, + { + "label": "canResendSelected", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L96", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_canresendselected", + "community": 12, + "norm_label": "canresendselected" + }, + { + "label": "phoneNumberSelectItems", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L106", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_phonenumberselectitems", + "community": 12, + "norm_label": "phonenumberselectitems" + }, + { + "label": "messageTypeSelectItems", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L113", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_messagetypeselectitems", + "community": 12, + "norm_label": "messagetypeselectitems" + }, + { + "label": "messageStatusSelectItems", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L119", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_messagestatusselectitems", + "community": 12, + "norm_label": "messagestatusselectitems" + }, + { + "label": "getCaptcha()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L128", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_getcaptcha", + "community": 12, + "norm_label": "getcaptcha()" + }, + { + "label": "parseErrors()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L161", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_parseerrors", + "community": 12, + "norm_label": "parseerrors()" + }, + { + "label": "fetchMessages()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L170", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_fetchmessages", + "community": 12, + "norm_label": "fetchmessages()" + }, + { + "label": "onUpdateOptions()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L210", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_onupdateoptions", + "community": 12, + "norm_label": "onupdateoptions()" + }, + { + "label": "sanitizeContent()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L227", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_sanitizecontent", + "community": 12, + "norm_label": "sanitizecontent()" + }, + { + "label": "exportMessages()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L232", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_exportmessages", + "community": 12, + "norm_label": "exportmessages()" + }, + { + "label": "deleteMessages()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L261", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_deletemessages", + "community": 12, + "norm_label": "deletemessages()" + }, + { + "label": "resendMessages()", + "file_type": "code", + "source_file": "web/app/pages/search-messages/index.vue", + "source_location": "L286", + "_origin": "ast", + "id": "web_app_pages_search_messages_index_resendmessages", + "community": 12, + "norm_label": "resendmessages()" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_settings_index", + "community": 7, + "norm_label": "index.vue" + }, + { + "label": "config", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L42", + "_origin": "ast", + "id": "web_app_pages_settings_index_config", + "community": 7, + "norm_label": "config" + }, + { + "label": "route", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L43", + "_origin": "ast", + "id": "web_app_pages_settings_index_route", + "community": 7, + "norm_label": "route" + }, + { + "label": "router", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L44", + "_origin": "ast", + "id": "web_app_pages_settings_index_router", + "community": 7, + "norm_label": "router" + }, + { + "label": "{ mdAndDown, mdAndUp, lgAndUp, xlAndUp, smAndUp }", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L45", + "_origin": "ast", + "id": "web_app_pages_settings_index_mdanddown_mdandup_lgandup_xlandup_smandup", + "community": 7, + "norm_label": "{ mdanddown, mdandup, lgandup, xlandup, smandup }" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L46", + "_origin": "ast", + "id": "web_app_pages_settings_index_authstore", + "community": 7, + "norm_label": "authstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L47", + "_origin": "ast", + "id": "web_app_pages_settings_index_phonesstore", + "community": 7, + "norm_label": "phonesstore" + }, + { + "label": "billingStore", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L48", + "_origin": "ast", + "id": "web_app_pages_settings_index_billingstore", + "community": 7, + "norm_label": "billingstore" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L49", + "_origin": "ast", + "id": "web_app_pages_settings_index_notificationsstore", + "community": 7, + "norm_label": "notificationsstore" + }, + { + "label": "firebaseUser", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L51", + "_origin": "ast", + "id": "web_app_pages_settings_index_firebaseuser", + "community": 7, + "norm_label": "firebaseuser" + }, + { + "label": "gravatarUrl", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L52", + "_origin": "ast", + "id": "web_app_pages_settings_index_gravatarurl", + "community": 7, + "norm_label": "gravatarurl" + }, + { + "label": "sendingVerificationEmail", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L53", + "_origin": "ast", + "id": "web_app_pages_settings_index_sendingverificationemail", + "community": 7, + "norm_label": "sendingverificationemail" + }, + { + "label": "verificationEmailSent", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L54", + "_origin": "ast", + "id": "web_app_pages_settings_index_verificationemailsent", + "community": 7, + "norm_label": "verificationemailsent" + }, + { + "label": "sendVerificationEmail()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L56", + "_origin": "ast", + "id": "web_app_pages_settings_index_sendverificationemail", + "community": 7, + "norm_label": "sendverificationemail()" + }, + { + "label": "computeGravatarUrl()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L77", + "_origin": "ast", + "id": "web_app_pages_settings_index_computegravatarurl", + "community": 7, + "norm_label": "computegravatarurl()" + }, + { + "label": "avatarUrl", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L87", + "_origin": "ast", + "id": "web_app_pages_settings_index_avatarurl", + "community": 7, + "norm_label": "avatarurl" + }, + { + "label": "apiKeyShow", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L91", + "_origin": "ast", + "id": "web_app_pages_settings_index_apikeyshow", + "community": 7, + "norm_label": "apikeyshow" + }, + { + "label": "showQrCodeDialog", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L92", + "_origin": "ast", + "id": "web_app_pages_settings_index_showqrcodedialog", + "community": 7, + "norm_label": "showqrcodedialog" + }, + { + "label": "showRotateApiKey", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L93", + "_origin": "ast", + "id": "web_app_pages_settings_index_showrotateapikey", + "community": 7, + "norm_label": "showrotateapikey" + }, + { + "label": "rotatingApiKey", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L94", + "_origin": "ast", + "id": "web_app_pages_settings_index_rotatingapikey", + "community": 7, + "norm_label": "rotatingapikey" + }, + { + "label": "qrCodeCanvas", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L95", + "_origin": "ast", + "id": "web_app_pages_settings_index_qrcodecanvas", + "community": 7, + "norm_label": "qrcodecanvas" + }, + { + "label": "errorMessages", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L97", + "_origin": "ast", + "id": "web_app_pages_settings_index_errormessages", + "community": 7, + "norm_label": "errormessages" + }, + { + "label": "timezones", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L100", + "_origin": "ast", + "id": "web_app_pages_settings_index_timezones", + "community": 7, + "norm_label": "timezones" + }, + { + "label": "apiKey", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L111", + "_origin": "ast", + "id": "web_app_pages_settings_index_apikey", + "community": 7, + "norm_label": "apikey" + }, + { + "label": "phoneNumbers", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L113", + "_origin": "ast", + "id": "web_app_pages_settings_index_phonenumbers", + "community": 7, + "norm_label": "phonenumbers" + }, + { + "label": "webhookEventOptions", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L117", + "_origin": "ast", + "id": "web_app_pages_settings_index_webhookeventoptions", + "community": 7, + "norm_label": "webhookeventoptions" + }, + { + "label": "resetErrors()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L128", + "_origin": "ast", + "id": "web_app_pages_settings_index_reseterrors", + "community": 111, + "norm_label": "reseterrors()" + }, + { + "label": "parseErrors()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L132", + "_origin": "ast", + "id": "web_app_pages_settings_index_parseerrors", + "community": 143, + "norm_label": "parseerrors()" + }, + { + "label": "rotateApiKey()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L144", + "_origin": "ast", + "id": "web_app_pages_settings_index_rotateapikey", + "community": 7, + "norm_label": "rotateapikey()" + }, + { + "label": "generateQrCode()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L164", + "_origin": "ast", + "id": "web_app_pages_settings_index_generateqrcode", + "community": 101, + "norm_label": "generateqrcode()" + }, + { + "label": "updateTimezone()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L188", + "_origin": "ast", + "id": "web_app_pages_settings_index_updatetimezone", + "community": 7, + "norm_label": "updatetimezone()" + }, + { + "label": "loadingWebhooks", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L206", + "_origin": "ast", + "id": "web_app_pages_settings_index_loadingwebhooks", + "community": 7, + "norm_label": "loadingwebhooks" + }, + { + "label": "webhooks", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L207", + "_origin": "ast", + "id": "web_app_pages_settings_index_webhooks", + "community": 7, + "norm_label": "webhooks" + }, + { + "label": "updatingWebhook", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L208", + "_origin": "ast", + "id": "web_app_pages_settings_index_updatingwebhook", + "community": 7, + "norm_label": "updatingwebhook" + }, + { + "label": "showWebhookEdit", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L209", + "_origin": "ast", + "id": "web_app_pages_settings_index_showwebhookedit", + "community": 7, + "norm_label": "showwebhookedit" + }, + { + "label": "activeWebhook", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L210", + "_origin": "ast", + "id": "web_app_pages_settings_index_activewebhook", + "community": 7, + "norm_label": "activewebhook" + }, + { + "label": "loadWebhooks()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L224", + "_origin": "ast", + "id": "web_app_pages_settings_index_loadwebhooks", + "community": 143, + "norm_label": "loadwebhooks()" + }, + { + "label": "onWebhookCreate()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L233", + "_origin": "ast", + "id": "web_app_pages_settings_index_onwebhookcreate", + "community": 111, + "norm_label": "onwebhookcreate()" + }, + { + "label": "onWebhookEdit()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L251", + "_origin": "ast", + "id": "web_app_pages_settings_index_onwebhookedit", + "community": 111, + "norm_label": "onwebhookedit()" + }, + { + "label": "saveWebhook()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L267", + "_origin": "ast", + "id": "web_app_pages_settings_index_savewebhook", + "community": 143, + "norm_label": "savewebhook()" + }, + { + "label": "deleteWebhook()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L304", + "_origin": "ast", + "id": "web_app_pages_settings_index_deletewebhook", + "community": 143, + "norm_label": "deletewebhook()" + }, + { + "label": "loadingDiscordIntegrations", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L327", + "_origin": "ast", + "id": "web_app_pages_settings_index_loadingdiscordintegrations", + "community": 7, + "norm_label": "loadingdiscordintegrations" + }, + { + "label": "discords", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L328", + "_origin": "ast", + "id": "web_app_pages_settings_index_discords", + "community": 7, + "norm_label": "discords" + }, + { + "label": "updatingDiscord", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L329", + "_origin": "ast", + "id": "web_app_pages_settings_index_updatingdiscord", + "community": 7, + "norm_label": "updatingdiscord" + }, + { + "label": "showDiscordEdit", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L330", + "_origin": "ast", + "id": "web_app_pages_settings_index_showdiscordedit", + "community": 7, + "norm_label": "showdiscordedit" + }, + { + "label": "activeDiscord", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L331", + "_origin": "ast", + "id": "web_app_pages_settings_index_activediscord", + "community": 7, + "norm_label": "activediscord" + }, + { + "label": "loadDiscordIntegrations()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L343", + "_origin": "ast", + "id": "web_app_pages_settings_index_loaddiscordintegrations", + "community": 143, + "norm_label": "loaddiscordintegrations()" + }, + { + "label": "onDiscordCreate()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L352", + "_origin": "ast", + "id": "web_app_pages_settings_index_ondiscordcreate", + "community": 111, + "norm_label": "ondiscordcreate()" + }, + { + "label": "onDiscordEdit()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L363", + "_origin": "ast", + "id": "web_app_pages_settings_index_ondiscordedit", + "community": 111, + "norm_label": "ondiscordedit()" + }, + { + "label": "saveDiscord()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L376", + "_origin": "ast", + "id": "web_app_pages_settings_index_savediscord", + "community": 143, + "norm_label": "savediscord()" + }, + { + "label": "deleteDiscord()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L412", + "_origin": "ast", + "id": "web_app_pages_settings_index_deletediscord", + "community": 143, + "norm_label": "deletediscord()" + }, + { + "label": "updatingPhone", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L435", + "_origin": "ast", + "id": "web_app_pages_settings_index_updatingphone", + "community": 7, + "norm_label": "updatingphone" + }, + { + "label": "showPhoneEdit", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L436", + "_origin": "ast", + "id": "web_app_pages_settings_index_showphoneedit", + "community": 7, + "norm_label": "showphoneedit" + }, + { + "label": "activePhone", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L437", + "_origin": "ast", + "id": "web_app_pages_settings_index_activephone", + "community": 7, + "norm_label": "activephone" + }, + { + "label": "showEditPhone()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L439", + "_origin": "ast", + "id": "web_app_pages_settings_index_showeditphone", + "community": 111, + "norm_label": "showeditphone()" + }, + { + "label": "updatePhone()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L447", + "_origin": "ast", + "id": "web_app_pages_settings_index_updatephone", + "community": 7, + "norm_label": "updatephone()" + }, + { + "label": "deletePhone()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L459", + "_origin": "ast", + "id": "web_app_pages_settings_index_deletephone", + "community": 7, + "norm_label": "deletephone()" + }, + { + "label": "loadingSendSchedules", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L482", + "_origin": "ast", + "id": "web_app_pages_settings_index_loadingsendschedules", + "community": 7, + "norm_label": "loadingsendschedules" + }, + { + "label": "sendSchedules", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L483", + "_origin": "ast", + "id": "web_app_pages_settings_index_sendschedules", + "community": 7, + "norm_label": "sendschedules" + }, + { + "label": "showScheduleEdit", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L484", + "_origin": "ast", + "id": "web_app_pages_settings_index_showscheduleedit", + "community": 7, + "norm_label": "showscheduleedit" + }, + { + "label": "showScheduleDelete", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L485", + "_origin": "ast", + "id": "web_app_pages_settings_index_showscheduledelete", + "community": 7, + "norm_label": "showscheduledelete" + }, + { + "label": "savingSchedule", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L486", + "_origin": "ast", + "id": "web_app_pages_settings_index_savingschedule", + "community": 7, + "norm_label": "savingschedule" + }, + { + "label": "activeSchedule", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L487", + "_origin": "ast", + "id": "web_app_pages_settings_index_activeschedule", + "community": 7, + "norm_label": "activeschedule" + }, + { + "label": "weekDays", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L503", + "_origin": "ast", + "id": "web_app_pages_settings_index_weekdays", + "community": 7, + "norm_label": "weekdays" + }, + { + "label": "loadSendSchedules()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L513", + "_origin": "ast", + "id": "web_app_pages_settings_index_loadsendschedules", + "community": 189, + "norm_label": "loadsendschedules()" + }, + { + "label": "minuteToClock()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L522", + "_origin": "ast", + "id": "web_app_pages_settings_index_minutetoclock", + "community": 111, + "norm_label": "minutetoclock()" + }, + { + "label": "clockToMinute()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L528", + "_origin": "ast", + "id": "web_app_pages_settings_index_clocktominute", + "community": 189, + "norm_label": "clocktominute()" + }, + { + "label": "getWeekday()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L534", + "_origin": "ast", + "id": "web_app_pages_settings_index_getweekday", + "community": 220, + "norm_label": "getweekday()" + }, + { + "label": "scheduleSummary()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L538", + "_origin": "ast", + "id": "web_app_pages_settings_index_schedulesummary", + "community": 111, + "norm_label": "schedulesummary()" + }, + { + "label": "defaultTimezone()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L558", + "_origin": "ast", + "id": "web_app_pages_settings_index_defaulttimezone", + "community": 111, + "norm_label": "defaulttimezone()" + }, + { + "label": "openCreateSchedule()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L564", + "_origin": "ast", + "id": "web_app_pages_settings_index_opencreateschedule", + "community": 111, + "norm_label": "opencreateschedule()" + }, + { + "label": "openEditSchedule()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L579", + "_origin": "ast", + "id": "web_app_pages_settings_index_openeditschedule", + "community": 111, + "norm_label": "openeditschedule()" + }, + { + "label": "scheduleWindowsForDay()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L594", + "_origin": "ast", + "id": "web_app_pages_settings_index_schedulewindowsforday", + "community": 190, + "norm_label": "schedulewindowsforday()" + }, + { + "label": "scheduleDayEnabled()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L598", + "_origin": "ast", + "id": "web_app_pages_settings_index_scheduledayenabled", + "community": 190, + "norm_label": "scheduledayenabled()" + }, + { + "label": "scheduleToggleDay()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L602", + "_origin": "ast", + "id": "web_app_pages_settings_index_scheduletoggleday", + "community": 190, + "norm_label": "scheduletoggleday()" + }, + { + "label": "scheduleAddWindow()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L614", + "_origin": "ast", + "id": "web_app_pages_settings_index_scheduleaddwindow", + "community": 190, + "norm_label": "scheduleaddwindow()" + }, + { + "label": "scheduleRemoveWindow()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L622", + "_origin": "ast", + "id": "web_app_pages_settings_index_scheduleremovewindow", + "community": 7, + "norm_label": "scheduleremovewindow()" + }, + { + "label": "scheduleWindowError()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L632", + "_origin": "ast", + "id": "web_app_pages_settings_index_schedulewindowerror", + "community": 220, + "norm_label": "schedulewindowerror()" + }, + { + "label": "saveSchedule()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L643", + "_origin": "ast", + "id": "web_app_pages_settings_index_saveschedule", + "community": 189, + "norm_label": "saveschedule()" + }, + { + "label": "confirmDeleteSchedule()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L683", + "_origin": "ast", + "id": "web_app_pages_settings_index_confirmdeleteschedule", + "community": 7, + "norm_label": "confirmdeleteschedule()" + }, + { + "label": "deleteSchedule()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L687", + "_origin": "ast", + "id": "web_app_pages_settings_index_deleteschedule", + "community": 189, + "norm_label": "deleteschedule()" + }, + { + "label": "updatingEmailNotifications", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L712", + "_origin": "ast", + "id": "web_app_pages_settings_index_updatingemailnotifications", + "community": 7, + "norm_label": "updatingemailnotifications" + }, + { + "label": "notificationSettings", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L713", + "_origin": "ast", + "id": "web_app_pages_settings_index_notificationsettings", + "community": 7, + "norm_label": "notificationsettings" + }, + { + "label": "syncEmailNotifications()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L720", + "_origin": "ast", + "id": "web_app_pages_settings_index_syncemailnotifications", + "community": 221, + "norm_label": "syncemailnotifications()" + }, + { + "label": "saveEmailNotifications()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L730", + "_origin": "ast", + "id": "web_app_pages_settings_index_saveemailnotifications", + "community": 221, + "norm_label": "saveemailnotifications()" + }, + { + "label": "deletingAccount", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L756", + "_origin": "ast", + "id": "web_app_pages_settings_index_deletingaccount", + "community": 7, + "norm_label": "deletingaccount" + }, + { + "label": "showDeleteAccountDialog", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L757", + "_origin": "ast", + "id": "web_app_pages_settings_index_showdeleteaccountdialog", + "community": 7, + "norm_label": "showdeleteaccountdialog" + }, + { + "label": "deleteUserAccount()", + "file_type": "code", + "source_file": "web/app/pages/settings/index.vue", + "source_location": "L759", + "_origin": "ast", + "id": "web_app_pages_settings_index_deleteuseraccount", + "community": 7, + "norm_label": "deleteuseraccount()" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/terms-and-conditions/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_terms_and_conditions_index", + "community": 235, + "norm_label": "index.vue" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_threads_id_index", + "community": 16, + "norm_label": "index.vue" + }, + { + "label": "route", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L31", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_route", + "community": 16, + "norm_label": "route" + }, + { + "label": "router", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L32", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_router", + "community": 16, + "norm_label": "router" + }, + { + "label": "config", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L33", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_config", + "community": 16, + "norm_label": "config" + }, + { + "label": "{ lgAndUp, mdAndDown, mdAndUp }", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L34", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_lgandup_mdanddown_mdandup", + "community": 16, + "norm_label": "{ lgandup, mdanddown, mdandup }" + }, + { + "label": "{ formatPhoneNumber }", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L35", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_formatphonenumber", + "community": 16, + "norm_label": "{ formatphonenumber }" + }, + { + "label": "notificationsStore", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L36", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_notificationsstore", + "community": 16, + "norm_label": "notificationsstore" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L37", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_authstore", + "community": 16, + "norm_label": "authstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L38", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_phonesstore", + "community": 16, + "norm_label": "phonesstore" + }, + { + "label": "threadsStore", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L39", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_threadsstore", + "community": 16, + "norm_label": "threadsstore" + }, + { + "label": "messagesStore", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L40", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_messagesstore", + "community": 16, + "norm_label": "messagesstore" + }, + { + "label": "formMessage", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L42", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_formmessage", + "community": 16, + "norm_label": "formmessage" + }, + { + "label": "submitting", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L43", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_submitting", + "community": 16, + "norm_label": "submitting" + }, + { + "label": "loadingMessages", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L44", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_loadingmessages", + "community": 16, + "norm_label": "loadingmessages" + }, + { + "label": "hideMessages", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L45", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_hidemessages", + "community": 16, + "norm_label": "hidemessages" + }, + { + "label": "messages", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L46", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_messages", + "community": 16, + "norm_label": "messages" + }, + { + "label": "selectedMenuItem", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L47", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_selectedmenuitem", + "community": 16, + "norm_label": "selectedmenuitem" + }, + { + "label": "messageBody", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L48", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_messagebody", + "community": 16, + "norm_label": "messagebody" + }, + { + "label": "form", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L49", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_form", + "community": 16, + "norm_label": "form" + }, + { + "label": "formMessageRules", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L51", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_formmessagerules", + "community": 16, + "norm_label": "formmessagerules" + }, + { + "label": "contactIsPhoneNumber", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L61", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_contactisphonenumber", + "community": 16, + "norm_label": "contactisphonenumber" + }, + { + "label": "messageVisibility", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L67", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_messagevisibility", + "community": 16, + "norm_label": "messagevisibility" + }, + { + "label": "contact", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L70", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_contact", + "community": 16, + "norm_label": "contact" + }, + { + "label": "isMT()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L72", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_ismt", + "community": 16, + "norm_label": "ismt()" + }, + { + "label": "isMo()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L76", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_ismo", + "community": 16, + "norm_label": "ismo()" + }, + { + "label": "isMissedCall()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L80", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_ismissedcall", + "community": 16, + "norm_label": "ismissedcall()" + }, + { + "label": "isPending()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L84", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_ispending", + "community": 16, + "norm_label": "ispending()" + }, + { + "label": "statusColor()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L88", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_statuscolor", + "community": 16, + "norm_label": "statuscolor()" + }, + { + "label": "canResend()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L94", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_canresend", + "community": 16, + "norm_label": "canresend()" + }, + { + "label": "formatAttachmentName()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L101", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_formatattachmentname", + "community": 16, + "norm_label": "formatattachmentname()" + }, + { + "label": "scrollToElement()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L107", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_scrolltoelement", + "community": 16, + "norm_label": "scrolltoelement()" + }, + { + "label": "loadMessages()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L115", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_loadmessages", + "community": 16, + "norm_label": "loadmessages()" + }, + { + "label": "loadData()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L134", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_loaddata", + "community": 16, + "norm_label": "loaddata()" + }, + { + "label": "archiveThread()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L146", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_archivethread", + "community": 16, + "norm_label": "archivethread()" + }, + { + "label": "unArchiveThread()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L154", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_unarchivethread", + "community": 16, + "norm_label": "unarchivethread()" + }, + { + "label": "resendMessage()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L162", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_resendmessage", + "community": 16, + "norm_label": "resendmessage()" + }, + { + "label": "deleteMessage()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L175", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_deletemessage", + "community": 16, + "norm_label": "deletemessage()" + }, + { + "label": "copyMessageId()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L183", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_copymessageid", + "community": 16, + "norm_label": "copymessageid()" + }, + { + "label": "deleteThread()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L194", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_deletethread", + "community": 16, + "norm_label": "deletethread()" + }, + { + "label": "sendMessage()", + "file_type": "code", + "source_file": "web/app/pages/threads/[id]/index.vue", + "source_location": "L199", + "_origin": "ast", + "id": "web_app_pages_threads_id_index_sendmessage", + "community": 16, + "norm_label": "sendmessage()" + }, + { + "label": "index.vue", + "file_type": "code", + "source_file": "web/app/pages/threads/index.vue", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_pages_threads_index", + "community": 172, + "norm_label": "index.vue" + }, + { + "label": "{ lgAndUp }", + "file_type": "code", + "source_file": "web/app/pages/threads/index.vue", + "source_location": "L8", + "_origin": "ast", + "id": "web_app_pages_threads_index_lgandup", + "community": 172, + "norm_label": "{ lgandup }" + }, + { + "label": "authStore", + "file_type": "code", + "source_file": "web/app/pages/threads/index.vue", + "source_location": "L9", + "_origin": "ast", + "id": "web_app_pages_threads_index_authstore", + "community": 172, + "norm_label": "authstore" + }, + { + "label": "phonesStore", + "file_type": "code", + "source_file": "web/app/pages/threads/index.vue", + "source_location": "L10", + "_origin": "ast", + "id": "web_app_pages_threads_index_phonesstore", + "community": 172, + "norm_label": "phonesstore" + }, + { + "label": "threadsStore", + "file_type": "code", + "source_file": "web/app/pages/threads/index.vue", + "source_location": "L11", + "_origin": "ast", + "id": "web_app_pages_threads_index_threadsstore", + "community": 172, + "norm_label": "threadsstore" + }, + { + "label": "chart.client.ts", + "file_type": "code", + "source_file": "web/app/plugins/chart.client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_plugins_chart_client", + "community": 236, + "norm_label": "chart.client.ts" + }, + { + "label": "firebase.client.ts", + "file_type": "code", + "source_file": "web/app/plugins/firebase.client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_plugins_firebase_client", + "community": 95, + "norm_label": "firebase.client.ts" + }, + { + "label": "highlightjs.client.ts", + "file_type": "code", + "source_file": "web/app/plugins/highlightjs.client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_plugins_highlightjs_client", + "community": 203, + "norm_label": "highlightjs.client.ts" + }, + { + "label": "mounted()", + "file_type": "code", + "source_file": "web/app/plugins/highlightjs.client.ts", + "source_location": "L23", + "_origin": "ast", + "id": "web_app_plugins_highlightjs_client_mounted", + "community": 203, + "norm_label": "mounted()" + }, + { + "label": "updated()", + "file_type": "code", + "source_file": "web/app/plugins/highlightjs.client.ts", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_plugins_highlightjs_client_updated", + "community": 203, + "norm_label": "updated()" + }, + { + "label": "telemetry.client.ts", + "file_type": "code", + "source_file": "web/app/plugins/telemetry.client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_plugins_telemetry_client", + "community": 336, + "norm_label": "telemetry.client.ts" + }, + { + "label": "safeToken()", + "file_type": "code", + "source_file": "web/app/plugins/telemetry.client.ts", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_plugins_telemetry_client_safetoken", + "community": 336, + "norm_label": "safetoken()" + }, + { + "label": "sessionId()", + "file_type": "code", + "source_file": "web/app/plugins/telemetry.client.ts", + "source_location": "L9", + "_origin": "ast", + "id": "web_app_plugins_telemetry_client_sessionid", + "community": 336, + "norm_label": "sessionid()" + }, + { + "label": "vPhoneInput.client.ts", + "file_type": "code", + "source_file": "web/app/plugins/vPhoneInput.client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_plugins_vphoneinput_client", + "community": 237, + "norm_label": "vphoneinput.client.ts" + }, + { + "label": "vue-glow.client.ts", + "file_type": "code", + "source_file": "web/app/plugins/vue-glow.client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_plugins_vue_glow_client", + "community": 238, + "norm_label": "vue-glow.client.ts" + }, + { + "label": "app.ts", + "file_type": "code", + "source_file": "web/app/stores/app.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_stores_app", + "community": 204, + "norm_label": "app.ts" + }, + { + "label": "AppData", + "file_type": "code", + "source_file": "web/app/stores/app.ts", + "source_location": "L3", + "_origin": "ast", + "id": "web_app_stores_app_appdata", + "community": 204, + "norm_label": "appdata" + }, + { + "label": "useAppStore", + "file_type": "code", + "source_file": "web/app/stores/app.ts", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_stores_app_useappstore", + "community": 204, + "norm_label": "useappstore" + }, + { + "label": "auth.ts", + "file_type": "code", + "source_file": "web/app/stores/auth.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_stores_auth", + "community": 95, + "norm_label": "auth.ts" + }, + { + "label": "AuthUser", + "file_type": "code", + "source_file": "web/app/stores/auth.ts", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_stores_auth_authuser", + "community": 95, + "norm_label": "authuser" + }, + { + "label": "TokenAuthSession", + "file_type": "code", + "source_file": "web/app/stores/auth.ts", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_stores_auth_tokenauthsession", + "community": 95, + "norm_label": "tokenauthsession" + }, + { + "label": "FirebaseEmailAuthData", + "file_type": "code", + "source_file": "web/app/stores/auth.ts", + "source_location": "L20", + "_origin": "ast", + "id": "web_app_stores_auth_firebaseemailauthdata", + "community": 95, + "norm_label": "firebaseemailauthdata" + }, + { + "label": "FirebaseEmailAuthResponse", + "file_type": "code", + "source_file": "web/app/stores/auth.ts", + "source_location": "L28", + "_origin": "ast", + "id": "web_app_stores_auth_firebaseemailauthresponse", + "community": 95, + "norm_label": "firebaseemailauthresponse" + }, + { + "label": "useAuthStore", + "file_type": "code", + "source_file": "web/app/stores/auth.ts", + "source_location": "L35", + "_origin": "ast", + "id": "web_app_stores_auth_useauthstore", + "community": 95, + "norm_label": "useauthstore" + }, + { + "label": "billing.ts", + "file_type": "code", + "source_file": "web/app/stores/billing.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_stores_billing", + "community": 6, + "norm_label": "billing.ts" + }, + { + "label": "useBillingStore", + "file_type": "code", + "source_file": "web/app/stores/billing.ts", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_stores_billing_usebillingstore", + "community": 6, + "norm_label": "usebillingstore" + }, + { + "label": "messages.ts", + "file_type": "code", + "source_file": "web/app/stores/messages.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_stores_messages", + "community": 112, + "norm_label": "messages.ts" + }, + { + "label": "SIM", + "file_type": "code", + "source_file": "web/app/stores/messages.ts", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_stores_messages_sim", + "community": 112, + "norm_label": "sim" + }, + { + "label": "SendMessageRequest", + "file_type": "code", + "source_file": "web/app/stores/messages.ts", + "source_location": "L8", + "_origin": "ast", + "id": "web_app_stores_messages_sendmessagerequest", + "community": 112, + "norm_label": "sendmessagerequest" + }, + { + "label": "useMessagesStore", + "file_type": "code", + "source_file": "web/app/stores/messages.ts", + "source_location": "L16", + "_origin": "ast", + "id": "web_app_stores_messages_usemessagesstore", + "community": 112, + "norm_label": "usemessagesstore" + }, + { + "label": "notifications.ts", + "file_type": "code", + "source_file": "web/app/stores/notifications.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_stores_notifications", + "community": 63, + "norm_label": "notifications.ts" + }, + { + "label": "NotificationType", + "file_type": "code", + "source_file": "web/app/stores/notifications.ts", + "source_location": "L3", + "_origin": "ast", + "id": "web_app_stores_notifications_notificationtype", + "community": 63, + "norm_label": "notificationtype" + }, + { + "label": "Notification", + "file_type": "code", + "source_file": "web/app/stores/notifications.ts", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_stores_notifications_notification", + "community": 63, + "norm_label": "notification" + }, + { + "label": "NotificationRequest", + "file_type": "code", + "source_file": "web/app/stores/notifications.ts", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_stores_notifications_notificationrequest", + "community": 63, + "norm_label": "notificationrequest" + }, + { + "label": "useNotificationsStore", + "file_type": "code", + "source_file": "web/app/stores/notifications.ts", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_stores_notifications_usenotificationsstore", + "community": 63, + "norm_label": "usenotificationsstore" + }, + { + "label": "phones.ts", + "file_type": "code", + "source_file": "web/app/stores/phones.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_stores_phones", + "community": 62, + "norm_label": "phones.ts" + }, + { + "label": "usePhonesStore", + "file_type": "code", + "source_file": "web/app/stores/phones.ts", + "source_location": "L5", + "_origin": "ast", + "id": "web_app_stores_phones_usephonesstore", + "community": 62, + "norm_label": "usephonesstore" + }, + { + "label": "threads.ts", + "file_type": "code", + "source_file": "web/app/stores/threads.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_stores_threads", + "community": 112, + "norm_label": "threads.ts" + }, + { + "label": "useThreadsStore", + "file_type": "code", + "source_file": "web/app/stores/threads.ts", + "source_location": "L7", + "_origin": "ast", + "id": "web_app_stores_threads_usethreadsstore", + "community": 112, + "norm_label": "usethreadsstore" + }, + { + "label": "nuxt-shims.d.ts", + "file_type": "code", + "source_file": "web/app/types/nuxt-shims.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_types_nuxt_shims_d", + "community": 239, + "norm_label": "nuxt-shims.d.ts" + }, + { + "label": "api-error.ts", + "file_type": "code", + "source_file": "web/app/utils/api-error.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_api_error", + "community": 44, + "norm_label": "api-error.ts" + }, + { + "label": "ApiError", + "file_type": "code", + "source_file": "web/app/utils/api-error.ts", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_utils_api_error_apierror", + "community": 44, + "norm_label": "apierror" + }, + { + "label": "toApiError()", + "file_type": "code", + "source_file": "web/app/utils/api-error.ts", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_utils_api_error_toapierror", + "community": 44, + "norm_label": "toapierror()" + }, + { + "label": "getApiErrorMessage()", + "file_type": "code", + "source_file": "web/app/utils/api-error.ts", + "source_location": "L19", + "_origin": "ast", + "id": "web_app_utils_api_error_getapierrormessage", + "community": 32, + "norm_label": "getapierrormessage()" + }, + { + "label": "bag.ts", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_bag", + "community": 259, + "norm_label": "bag.ts" + }, + { + "label": "Bag", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_bag_bag", + "community": 259, + "norm_label": "bag" + }, + { + "label": ".serialize()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_utils_bag_bag_serialize", + "community": 259, + "norm_label": ".serialize()" + }, + { + "label": ".fromObject()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L12", + "_origin": "ast", + "id": "web_app_utils_bag_bag_fromobject", + "community": 259, + "norm_label": ".fromobject()" + }, + { + "label": ".add()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L20", + "_origin": "ast", + "id": "web_app_utils_bag_bag_add", + "community": 259, + "norm_label": ".add()" + }, + { + "label": ".addMany()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L34", + "_origin": "ast", + "id": "web_app_utils_bag_bag_addmany", + "community": 259, + "norm_label": ".addmany()" + }, + { + "label": ".has()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L41", + "_origin": "ast", + "id": "web_app_utils_bag_bag_has", + "community": 259, + "norm_label": ".has()" + }, + { + "label": ".first()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L45", + "_origin": "ast", + "id": "web_app_utils_bag_bag_first", + "community": 259, + "norm_label": ".first()" + }, + { + "label": ".get()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L52", + "_origin": "ast", + "id": "web_app_utils_bag_bag_get", + "community": 259, + "norm_label": ".get()" + }, + { + "label": ".size()", + "file_type": "code", + "source_file": "web/app/utils/bag.ts", + "source_location": "L60", + "_origin": "ast", + "id": "web_app_utils_bag_bag_size", + "community": 259, + "norm_label": ".size()" + }, + { + "label": "capitalize.ts", + "file_type": "code", + "source_file": "web/app/utils/capitalize.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_capitalize", + "community": 259, + "norm_label": "capitalize.ts" + }, + { + "label": "capitalize()", + "file_type": "code", + "source_file": "web/app/utils/capitalize.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_capitalize_capitalize", + "community": 259, + "norm_label": "capitalize()" + }, + { + "label": "countries.ts", + "file_type": "code", + "source_file": "web/app/utils/countries.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_countries", + "community": 19, + "norm_label": "countries.ts" + }, + { + "label": "SelectOption", + "file_type": "code", + "source_file": "web/app/utils/countries.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_countries_selectoption", + "community": 19, + "norm_label": "selectoption" + }, + { + "label": "countries", + "file_type": "code", + "source_file": "web/app/utils/countries.ts", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_utils_countries_countries", + "community": 19, + "norm_label": "countries" + }, + { + "label": "usStates", + "file_type": "code", + "source_file": "web/app/utils/countries.ts", + "source_location": "L255", + "_origin": "ast", + "id": "web_app_utils_countries_usstates", + "community": 19, + "norm_label": "usstates" + }, + { + "label": "canadaProvinces", + "file_type": "code", + "source_file": "web/app/utils/countries.ts", + "source_location": "L309", + "_origin": "ast", + "id": "web_app_utils_countries_canadaprovinces", + "community": 19, + "norm_label": "canadaprovinces" + }, + { + "label": "getStateOptions()", + "file_type": "code", + "source_file": "web/app/utils/countries.ts", + "source_location": "L325", + "_origin": "ast", + "id": "web_app_utils_countries_getstateoptions", + "community": 19, + "norm_label": "getstateoptions()" + }, + { + "label": "errors.ts", + "file_type": "code", + "source_file": "web/app/utils/errors.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_errors", + "community": 259, + "norm_label": "errors.ts" + }, + { + "label": "ErrorMessages", + "file_type": "code", + "source_file": "web/app/utils/errors.ts", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_utils_errors_errormessages", + "community": 259, + "norm_label": "errormessages" + }, + { + "label": "sanitize()", + "file_type": "code", + "source_file": "web/app/utils/errors.ts", + "source_location": "L6", + "_origin": "ast", + "id": "web_app_utils_errors_sanitize", + "community": 259, + "norm_label": "sanitize()" + }, + { + "label": "AxiosLikeError", + "file_type": "code", + "source_file": "web/app/utils/errors.ts", + "source_location": "L24", + "_origin": "ast", + "id": "web_app_utils_errors_axioslikeerror", + "community": 259, + "norm_label": "axioslikeerror" + }, + { + "label": "getErrorMessages()", + "file_type": "code", + "source_file": "web/app/utils/errors.ts", + "source_location": "L31", + "_origin": "ast", + "id": "web_app_utils_errors_geterrormessages", + "community": 259, + "norm_label": "geterrormessages()" + }, + { + "label": "filters.ts", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_app_utils_filters", + "community": 42, + "norm_label": "filters.ts" + }, + { + "label": "formatPhoneNumber()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L4", + "_origin": "ast", + "id": "web_app_utils_filters_formatphonenumber", + "community": 42, + "norm_label": "formatphonenumber()" + }, + { + "label": "phoneCountry()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L18", + "_origin": "ast", + "id": "web_app_utils_filters_phonecountry", + "community": 42, + "norm_label": "phonecountry()" + }, + { + "label": "formatTimestamp()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L27", + "_origin": "ast", + "id": "web_app_utils_filters_formattimestamp", + "community": 42, + "norm_label": "formattimestamp()" + }, + { + "label": "formatMoney()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L31", + "_origin": "ast", + "id": "web_app_utils_filters_formatmoney", + "community": 42, + "norm_label": "formatmoney()" + }, + { + "label": "formatDecimal()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L38", + "_origin": "ast", + "id": "web_app_utils_filters_formatdecimal", + "community": 42, + "norm_label": "formatdecimal()" + }, + { + "label": "formatBillingPeriod()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L44", + "_origin": "ast", + "id": "web_app_utils_filters_formatbillingperiod", + "community": 42, + "norm_label": "formatbillingperiod()" + }, + { + "label": "formatBillingPeriodDateOrdinal()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L51", + "_origin": "ast", + "id": "web_app_utils_filters_formatbillingperioddateordinal", + "community": 42, + "norm_label": "formatbillingperioddateordinal()" + }, + { + "label": "BillingPeriodDateOrdinalParts", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L69", + "_origin": "ast", + "id": "web_app_utils_filters_billingperioddateordinalparts", + "community": 42, + "norm_label": "billingperioddateordinalparts" + }, + { + "label": "formatBillingPeriodDateOrdinalParts()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L75", + "_origin": "ast", + "id": "web_app_utils_filters_formatbillingperioddateordinalparts", + "community": 42, + "norm_label": "formatbillingperioddateordinalparts()" + }, + { + "label": "humanizeTime()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L95", + "_origin": "ast", + "id": "web_app_utils_filters_humanizetime", + "community": 42, + "norm_label": "humanizetime()" + }, + { + "label": "startsWithLetter()", + "file_type": "code", + "source_file": "web/app/utils/filters.ts", + "source_location": "L103", + "_origin": "ast", + "id": "web_app_utils_filters_startswithletter", + "community": 80, + "norm_label": "startswithletter()" + }, + { + "label": "commitlint.config.mjs", + "file_type": "code", + "source_file": "web/commitlint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "web_commitlint_config", + "community": 240, + "norm_label": "commitlint.config.mjs" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "web/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "web_eslint_config", + "community": 241, + "norm_label": "eslint.config.mjs" + }, + { + "label": "nuxt.config.ts", + "file_type": "code", + "source_file": "web/nuxt.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_nuxt_config", + "community": 242, + "norm_label": "nuxt.config.ts" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "web_package", + "community": 195, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "web_package_name", + "community": 195, + "norm_label": "name" + }, + { + "label": "type", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "web_package_type", + "community": 195, + "norm_label": "type" + }, + { + "label": "private", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "web_package_private", + "community": 195, + "norm_label": "private" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "web_package_scripts", + "community": 162, + "norm_label": "scripts" + }, + { + "label": "build", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "web_package_scripts_build", + "community": 162, + "norm_label": "build" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "web_package_scripts_dev", + "community": 162, + "norm_label": "dev" + }, + { + "label": "generate", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "web_package_scripts_generate", + "community": 162, + "norm_label": "generate" + }, + { + "label": "preview", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "web_package_scripts_preview", + "community": 162, + "norm_label": "preview" + }, + { + "label": "postinstall", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "web_package_scripts_postinstall", + "community": 162, + "norm_label": "postinstall" + }, + { + "label": "prepare", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "web_package_scripts_prepare", + "community": 162, + "norm_label": "prepare" + }, + { + "label": "api:models", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "web_package_scripts_api_models", + "community": 162, + "norm_label": "api:models" + }, + { + "label": "lint:js", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "web_package_scripts_lint_js", + "community": 162, + "norm_label": "lint:js" + }, + { + "label": "lint:style", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "web_package_scripts_lint_style", + "community": 162, + "norm_label": "lint:style" + }, + { + "label": "lint:prettier", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "web_package_scripts_lint_prettier", + "community": 162, + "norm_label": "lint:prettier" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "web_package_scripts_lint", + "community": 162, + "norm_label": "lint" + }, + { + "label": "lintfix", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "web_package_scripts_lintfix", + "community": 162, + "norm_label": "lintfix" + }, + { + "label": "test", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "web_package_scripts_test", + "community": 162, + "norm_label": "test" + }, + { + "label": "lint-staged", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "web_package_lint_staged", + "community": 195, + "norm_label": "lint-staged" + }, + { + "label": "*.{js,ts,vue}", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "web_package_lint_staged_js_ts_vue", + "community": 195, + "norm_label": "*.{js,ts,vue}" + }, + { + "label": "*.{css,scss,sass,vue}", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "web_package_lint_staged_css_scss_sass_vue", + "community": 195, + "norm_label": "*.{css,scss,sass,vue}" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "web_package_dependencies", + "community": 101, + "norm_label": "dependencies" + }, + { + "label": "@mdi/js", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "web_package_dependencies_mdi_js", + "community": 101, + "norm_label": "@mdi/js" + }, + { + "label": "@pinia/nuxt", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "web_package_dependencies_pinia_nuxt", + "community": 101, + "norm_label": "@pinia/nuxt" + }, + { + "label": "chart.js", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "web_package_dependencies_chart_js", + "community": 101, + "norm_label": "chart.js" + }, + { + "label": "chartjs-adapter-moment", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "web_package_dependencies_chartjs_adapter_moment", + "community": 101, + "norm_label": "chartjs-adapter-moment" + }, + { + "label": "date-fns", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "web_package_dependencies_date_fns", + "community": 101, + "norm_label": "date-fns" + }, + { + "label": "firebase", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "web_package_dependencies_firebase", + "community": 101, + "norm_label": "firebase" + }, + { + "label": "flag-icons", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "web_package_dependencies_flag_icons", + "community": 101, + "norm_label": "flag-icons" + }, + { + "label": "highlight.js", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "web_package_dependencies_highlight_js", + "community": 101, + "norm_label": "highlight.js" + }, + { + "label": "libphonenumber-js", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "web_package_dependencies_libphonenumber_js", + "community": 101, + "norm_label": "libphonenumber-js" + }, + { + "label": "moment", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "web_package_dependencies_moment", + "community": 101, + "norm_label": "moment" + }, + { + "label": "nuxt", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "web_package_dependencies_nuxt", + "community": 101, + "norm_label": "nuxt" + }, + { + "label": "pinia", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "web_package_dependencies_pinia", + "community": 101, + "norm_label": "pinia" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "web_package_dependencies_prettier", + "community": 101, + "norm_label": "prettier" + }, + { + "label": "pusher-js", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "web_package_dependencies_pusher_js", + "community": 167, + "norm_label": "pusher-js" + }, + { + "label": "qrcode", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "web_package_dependencies_qrcode", + "community": 101, + "norm_label": "qrcode" + }, + { + "label": "sass", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "web_package_dependencies_sass", + "community": 101, + "norm_label": "sass" + }, + { + "label": "v-phone-input", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "web_package_dependencies_v_phone_input", + "community": 101, + "norm_label": "v-phone-input" + }, + { + "label": "vue", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L43", + "_origin": "ast", + "id": "web_package_dependencies_vue", + "community": 101, + "norm_label": "vue" + }, + { + "label": "vue-chartjs", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L44", + "_origin": "ast", + "id": "web_package_dependencies_vue_chartjs", + "community": 101, + "norm_label": "vue-chartjs" + }, + { + "label": "vue-router", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L45", + "_origin": "ast", + "id": "web_package_dependencies_vue_router", + "community": 101, + "norm_label": "vue-router" + }, + { + "label": "vuetify", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L46", + "_origin": "ast", + "id": "web_package_dependencies_vuetify", + "community": 101, + "norm_label": "vuetify" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L48", + "_origin": "ast", + "id": "web_package_devdependencies", + "community": 71, + "norm_label": "devdependencies" + }, + { + "label": "@commitlint/cli", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L49", + "_origin": "ast", + "id": "web_package_devdependencies_commitlint_cli", + "community": 71, + "norm_label": "@commitlint/cli" + }, + { + "label": "@commitlint/config-conventional", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L50", + "_origin": "ast", + "id": "web_package_devdependencies_commitlint_config_conventional", + "community": 71, + "norm_label": "@commitlint/config-conventional" + }, + { + "label": "@nuxt/eslint", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L51", + "_origin": "ast", + "id": "web_package_devdependencies_nuxt_eslint", + "community": 71, + "norm_label": "@nuxt/eslint" + }, + { + "label": "@nuxtjs/seo", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L52", + "_origin": "ast", + "id": "web_package_devdependencies_nuxtjs_seo", + "community": 71, + "norm_label": "@nuxtjs/seo" + }, + { + "label": "@types/qrcode", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L53", + "_origin": "ast", + "id": "web_package_devdependencies_types_qrcode", + "community": 71, + "norm_label": "@types/qrcode" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L54", + "_origin": "ast", + "id": "web_package_devdependencies_eslint", + "community": 71, + "norm_label": "eslint" + }, + { + "label": "eslint-config-prettier", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L55", + "_origin": "ast", + "id": "web_package_devdependencies_eslint_config_prettier", + "community": 71, + "norm_label": "eslint-config-prettier" + }, + { + "label": "husky", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L56", + "_origin": "ast", + "id": "web_package_devdependencies_husky", + "community": 71, + "norm_label": "husky" + }, + { + "label": "lint-staged", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L57", + "_origin": "ast", + "id": "web_package_devdependencies_lint_staged", + "community": 71, + "norm_label": "lint-staged" + }, + { + "label": "postcss-html", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L58", + "_origin": "ast", + "id": "web_package_devdependencies_postcss_html", + "community": 71, + "norm_label": "postcss-html" + }, + { + "label": "stylelint", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L59", + "_origin": "ast", + "id": "web_package_devdependencies_stylelint", + "community": 71, + "norm_label": "stylelint" + }, + { + "label": "stylelint-config-recommended-vue", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L60", + "_origin": "ast", + "id": "web_package_devdependencies_stylelint_config_recommended_vue", + "community": 71, + "norm_label": "stylelint-config-recommended-vue" + }, + { + "label": "stylelint-config-standard", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L61", + "_origin": "ast", + "id": "web_package_devdependencies_stylelint_config_standard", + "community": 71, + "norm_label": "stylelint-config-standard" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L62", + "_origin": "ast", + "id": "web_package_devdependencies_typescript", + "community": 71, + "norm_label": "typescript" + }, + { + "label": "vuetify-nuxt-module", + "file_type": "code", + "source_file": "web/package.json", + "source_location": "L63", + "_origin": "ast", + "id": "web_package_devdependencies_vuetify_nuxt_module", + "community": 71, + "norm_label": "vuetify-nuxt-module" + }, + { + "label": "integrations.js", + "file_type": "code", + "source_file": "web/public/integrations.js", + "source_location": "L1", + "_origin": "ast", + "id": "web_public_integrations", + "community": 243, + "norm_label": "integrations.js" + }, + { + "label": "api.ts", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_shared_types_api", + "community": 6, + "norm_label": "api.ts" + }, + { + "label": "EntitiesSubscriptionName", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L13", + "_origin": "ast", + "id": "web_shared_types_api_entitiessubscriptionname", + "community": 6, + "norm_label": "entitiessubscriptionname" + }, + { + "label": "EntitiesSIM", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L27", + "_origin": "ast", + "id": "web_shared_types_api_entitiessim", + "community": 6, + "norm_label": "entitiessim" + }, + { + "label": "EntitiesBillingUsage", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L32", + "_origin": "ast", + "id": "web_shared_types_api_entitiesbillingusage", + "community": 6, + "norm_label": "entitiesbillingusage" + }, + { + "label": "EntitiesBulkMessage", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L53", + "_origin": "ast", + "id": "web_shared_types_api_entitiesbulkmessage", + "community": 112, + "norm_label": "entitiesbulkmessage" + }, + { + "label": "EntitiesDiscord", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L74", + "_origin": "ast", + "id": "web_shared_types_api_entitiesdiscord", + "community": 6, + "norm_label": "entitiesdiscord" + }, + { + "label": "EntitiesHeartbeat", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L91", + "_origin": "ast", + "id": "web_shared_types_api_entitiesheartbeat", + "community": 62, + "norm_label": "entitiesheartbeat" + }, + { + "label": "EntitiesMessage", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L106", + "_origin": "ast", + "id": "web_shared_types_api_entitiesmessage", + "community": 112, + "norm_label": "entitiesmessage" + }, + { + "label": "EntitiesMessageSendSchedule", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L172", + "_origin": "ast", + "id": "web_shared_types_api_entitiesmessagesendschedule", + "community": 6, + "norm_label": "entitiesmessagesendschedule" + }, + { + "label": "EntitiesMessageSendScheduleWindow", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L188", + "_origin": "ast", + "id": "web_shared_types_api_entitiesmessagesendschedulewindow", + "community": 6, + "norm_label": "entitiesmessagesendschedulewindow" + }, + { + "label": "EntitiesMessageThread", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L197", + "_origin": "ast", + "id": "web_shared_types_api_entitiesmessagethread", + "community": 112, + "norm_label": "entitiesmessagethread" + }, + { + "label": "EntitiesPhone", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L224", + "_origin": "ast", + "id": "web_shared_types_api_entitiesphone", + "community": 62, + "norm_label": "entitiesphone" + }, + { + "label": "EntitiesPhoneAPIKey", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L258", + "_origin": "ast", + "id": "web_shared_types_api_entitiesphoneapikey", + "community": 6, + "norm_label": "entitiesphoneapikey" + }, + { + "label": "EntitiesUser", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L279", + "_origin": "ast", + "id": "web_shared_types_api_entitiesuser", + "community": 95, + "norm_label": "entitiesuser" + }, + { + "label": "EntitiesWebhook", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L314", + "_origin": "ast", + "id": "web_shared_types_api_entitieswebhook", + "community": 6, + "norm_label": "entitieswebhook" + }, + { + "label": "RequestsDiscordStore", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L333", + "_origin": "ast", + "id": "web_shared_types_api_requestsdiscordstore", + "community": 6, + "norm_label": "requestsdiscordstore" + }, + { + "label": "RequestsDiscordUpdate", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L339", + "_origin": "ast", + "id": "web_shared_types_api_requestsdiscordupdate", + "community": 6, + "norm_label": "requestsdiscordupdate" + }, + { + "label": "RequestsHeartbeatStore", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L345", + "_origin": "ast", + "id": "web_shared_types_api_requestsheartbeatstore", + "community": 6, + "norm_label": "requestsheartbeatstore" + }, + { + "label": "RequestsMessageAttachment", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L350", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessageattachment", + "community": 6, + "norm_label": "requestsmessageattachment" + }, + { + "label": "RequestsMessageBulkSend", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L368", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessagebulksend", + "community": 6, + "norm_label": "requestsmessagebulksend" + }, + { + "label": "RequestsMessageCallMissed", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L389", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessagecallmissed", + "community": 6, + "norm_label": "requestsmessagecallmissed" + }, + { + "label": "RequestsMessageEvent", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L400", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessageevent", + "community": 6, + "norm_label": "requestsmessageevent" + }, + { + "label": "RequestsMessageReceive", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L418", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessagereceive", + "community": 6, + "norm_label": "requestsmessagereceive" + }, + { + "label": "RequestsMessageSend", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L444", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessagesend", + "community": 6, + "norm_label": "requestsmessagesend" + }, + { + "label": "RequestsMessageSendScheduleStore", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L473", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessagesendschedulestore", + "community": 6, + "norm_label": "requestsmessagesendschedulestore" + }, + { + "label": "RequestsMessageSendScheduleWindow", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L479", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessagesendschedulewindow", + "community": 6, + "norm_label": "requestsmessagesendschedulewindow" + }, + { + "label": "RequestsMessageThreadUpdate", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L485", + "_origin": "ast", + "id": "web_shared_types_api_requestsmessagethreadupdate", + "community": 6, + "norm_label": "requestsmessagethreadupdate" + }, + { + "label": "RequestsPhoneAPIKeyStoreRequest", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L490", + "_origin": "ast", + "id": "web_shared_types_api_requestsphoneapikeystorerequest", + "community": 6, + "norm_label": "requestsphoneapikeystorerequest" + }, + { + "label": "RequestsPhoneFCMToken", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L495", + "_origin": "ast", + "id": "web_shared_types_api_requestsphonefcmtoken", + "community": 6, + "norm_label": "requestsphonefcmtoken" + }, + { + "label": "RequestsPhoneUpsert", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L507", + "_origin": "ast", + "id": "web_shared_types_api_requestsphoneupsert", + "community": 6, + "norm_label": "requestsphoneupsert" + }, + { + "label": "RequestsUserNotificationUpdate", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L540", + "_origin": "ast", + "id": "web_shared_types_api_requestsusernotificationupdate", + "community": 6, + "norm_label": "requestsusernotificationupdate" + }, + { + "label": "RequestsUserPaymentInvoice", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L551", + "_origin": "ast", + "id": "web_shared_types_api_requestsuserpaymentinvoice", + "community": 6, + "norm_label": "requestsuserpaymentinvoice" + }, + { + "label": "RequestsUserUpdate", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L568", + "_origin": "ast", + "id": "web_shared_types_api_requestsuserupdate", + "community": 6, + "norm_label": "requestsuserupdate" + }, + { + "label": "RequestsWebhookStore", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L575", + "_origin": "ast", + "id": "web_shared_types_api_requestswebhookstore", + "community": 6, + "norm_label": "requestswebhookstore" + }, + { + "label": "RequestsWebhookUpdate", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L583", + "_origin": "ast", + "id": "web_shared_types_api_requestswebhookupdate", + "community": 6, + "norm_label": "requestswebhookupdate" + }, + { + "label": "ResponsesBadRequest", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L591", + "_origin": "ast", + "id": "web_shared_types_api_responsesbadrequest", + "community": 6, + "norm_label": "responsesbadrequest" + }, + { + "label": "ResponsesBillingUsageResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L600", + "_origin": "ast", + "id": "web_shared_types_api_responsesbillingusageresponse", + "community": 6, + "norm_label": "responsesbillingusageresponse" + }, + { + "label": "ResponsesBillingUsagesResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L608", + "_origin": "ast", + "id": "web_shared_types_api_responsesbillingusagesresponse", + "community": 6, + "norm_label": "responsesbillingusagesresponse" + }, + { + "label": "ResponsesBulkMessagesResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L616", + "_origin": "ast", + "id": "web_shared_types_api_responsesbulkmessagesresponse", + "community": 6, + "norm_label": "responsesbulkmessagesresponse" + }, + { + "label": "ResponsesDiscordResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L624", + "_origin": "ast", + "id": "web_shared_types_api_responsesdiscordresponse", + "community": 6, + "norm_label": "responsesdiscordresponse" + }, + { + "label": "ResponsesDiscordsResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L632", + "_origin": "ast", + "id": "web_shared_types_api_responsesdiscordsresponse", + "community": 6, + "norm_label": "responsesdiscordsresponse" + }, + { + "label": "ResponsesHeartbeatResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L640", + "_origin": "ast", + "id": "web_shared_types_api_responsesheartbeatresponse", + "community": 6, + "norm_label": "responsesheartbeatresponse" + }, + { + "label": "ResponsesHeartbeatsResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L648", + "_origin": "ast", + "id": "web_shared_types_api_responsesheartbeatsresponse", + "community": 6, + "norm_label": "responsesheartbeatsresponse" + }, + { + "label": "ResponsesInternalServerError", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L656", + "_origin": "ast", + "id": "web_shared_types_api_responsesinternalservererror", + "community": 6, + "norm_label": "responsesinternalservererror" + }, + { + "label": "ResponsesMessageResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L663", + "_origin": "ast", + "id": "web_shared_types_api_responsesmessageresponse", + "community": 6, + "norm_label": "responsesmessageresponse" + }, + { + "label": "ResponsesMessageSendScheduleResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L671", + "_origin": "ast", + "id": "web_shared_types_api_responsesmessagesendscheduleresponse", + "community": 6, + "norm_label": "responsesmessagesendscheduleresponse" + }, + { + "label": "ResponsesMessageSendSchedulesResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L679", + "_origin": "ast", + "id": "web_shared_types_api_responsesmessagesendschedulesresponse", + "community": 6, + "norm_label": "responsesmessagesendschedulesresponse" + }, + { + "label": "ResponsesMessageThreadsResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L687", + "_origin": "ast", + "id": "web_shared_types_api_responsesmessagethreadsresponse", + "community": 6, + "norm_label": "responsesmessagethreadsresponse" + }, + { + "label": "ResponsesMessagesResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L695", + "_origin": "ast", + "id": "web_shared_types_api_responsesmessagesresponse", + "community": 6, + "norm_label": "responsesmessagesresponse" + }, + { + "label": "ResponsesNoContent", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L703", + "_origin": "ast", + "id": "web_shared_types_api_responsesnocontent", + "community": 6, + "norm_label": "responsesnocontent" + }, + { + "label": "ResponsesNotFound", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L710", + "_origin": "ast", + "id": "web_shared_types_api_responsesnotfound", + "community": 6, + "norm_label": "responsesnotfound" + }, + { + "label": "ResponsesOkString", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L717", + "_origin": "ast", + "id": "web_shared_types_api_responsesokstring", + "community": 6, + "norm_label": "responsesokstring" + }, + { + "label": "ResponsesPaymentRequired", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L725", + "_origin": "ast", + "id": "web_shared_types_api_responsespaymentrequired", + "community": 6, + "norm_label": "responsespaymentrequired" + }, + { + "label": "ResponsesPhoneAPIKeyResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L732", + "_origin": "ast", + "id": "web_shared_types_api_responsesphoneapikeyresponse", + "community": 6, + "norm_label": "responsesphoneapikeyresponse" + }, + { + "label": "ResponsesPhoneAPIKeysResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L740", + "_origin": "ast", + "id": "web_shared_types_api_responsesphoneapikeysresponse", + "community": 6, + "norm_label": "responsesphoneapikeysresponse" + }, + { + "label": "ResponsesPhoneResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L748", + "_origin": "ast", + "id": "web_shared_types_api_responsesphoneresponse", + "community": 6, + "norm_label": "responsesphoneresponse" + }, + { + "label": "ResponsesPhonesResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L756", + "_origin": "ast", + "id": "web_shared_types_api_responsesphonesresponse", + "community": 6, + "norm_label": "responsesphonesresponse" + }, + { + "label": "ResponsesUnauthorized", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L764", + "_origin": "ast", + "id": "web_shared_types_api_responsesunauthorized", + "community": 6, + "norm_label": "responsesunauthorized" + }, + { + "label": "ResponsesUnprocessableEntity", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L773", + "_origin": "ast", + "id": "web_shared_types_api_responsesunprocessableentity", + "community": 6, + "norm_label": "responsesunprocessableentity" + }, + { + "label": "ResponsesUserResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L781", + "_origin": "ast", + "id": "web_shared_types_api_responsesuserresponse", + "community": 6, + "norm_label": "responsesuserresponse" + }, + { + "label": "ResponsesUserSubscriptionPaymentsResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L789", + "_origin": "ast", + "id": "web_shared_types_api_responsesusersubscriptionpaymentsresponse", + "community": 6, + "norm_label": "responsesusersubscriptionpaymentsresponse" + }, + { + "label": "ResponsesWebhookResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L829", + "_origin": "ast", + "id": "web_shared_types_api_responseswebhookresponse", + "community": 6, + "norm_label": "responseswebhookresponse" + }, + { + "label": "ResponsesWebhooksResponse", + "file_type": "code", + "source_file": "web/shared/types/api.ts", + "source_location": "L837", + "_origin": "ast", + "id": "web_shared_types_api_responseswebhooksresponse", + "community": 6, + "norm_label": "responseswebhooksresponse" + }, + { + "label": "message.ts", + "file_type": "code", + "source_file": "web/shared/types/message.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_shared_types_message", + "community": 112, + "norm_label": "message.ts" + }, + { + "label": "SearchMessagesRequest", + "file_type": "code", + "source_file": "web/shared/types/message.ts", + "source_location": "L1", + "_origin": "ast", + "id": "web_shared_types_message_searchmessagesrequest", + "community": 112, + "norm_label": "searchmessagesrequest" + }, + { + "label": "stylelint.config.mjs", + "file_type": "code", + "source_file": "web/stylelint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "web_stylelint_config", + "community": 244, + "norm_label": "stylelint.config.mjs" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_json", + "community": 91, + "norm_label": "tsconfig.json" + }, + { + "label": "files", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_files", + "community": 91, + "norm_label": "files" + }, + { + "label": "references", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_references", + "community": 91, + "norm_label": "references" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L18", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_compileroptions", + "community": 91, + "norm_label": "compileroptions" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_compileroptions_strict", + "community": 91, + "norm_label": "strict" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_compileroptions_moduleresolution", + "community": 91, + "norm_label": "moduleresolution" + }, + { + "label": "module", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_compileroptions_module", + "community": 91, + "norm_label": "module" + }, + { + "label": "target", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L22", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_compileroptions_target", + "community": 91, + "norm_label": "target" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_compileroptions_paths", + "community": 91, + "norm_label": "paths" + }, + { + "label": "~/*", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L24", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_paths", + "community": 91, + "norm_label": "~/*" + }, + { + "label": "#imports", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_paths_imports", + "community": 91, + "norm_label": "#imports" + }, + { + "label": "include", + "file_type": "code", + "source_file": "web/tsconfig.json", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_web_tsconfig_include", + "community": 91, + "norm_label": "include" + }, + { + "label": "copilot-instructions.md", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_md", + "community": 49, + "norm_label": "copilot-instructions.md" + }, + { + "label": "Copilot Instructions for httpSMS", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_copilot_instructions_for_httpsms", + "community": 49, + "norm_label": "copilot instructions for httpsms" + }, + { + "label": "Build, Test, and Lint Commands", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L9", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_build_test_and_lint_commands", + "community": 49, + "norm_label": "build, test, and lint commands" + }, + { + "label": "API (Go)", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_api_go", + "community": 49, + "norm_label": "api (go)" + }, + { + "label": "Web (Nuxt/Vue)", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L34", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_web_nuxt_vue", + "community": 49, + "norm_label": "web (nuxt/vue)" + }, + { + "label": "Android (Kotlin)", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L61", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_android_kotlin", + "community": 49, + "norm_label": "android (kotlin)" + }, + { + "label": "Docker (full stack)", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L76", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_docker_full_stack", + "community": 49, + "norm_label": "docker (full stack)" + }, + { + "label": "Architecture", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L84", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_architecture", + "community": 49, + "norm_label": "architecture" + }, + { + "label": "API \u2014 Layered Architecture with Event-Driven Processing", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L86", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_api_layered_architecture_with_event_driven_processing", + "community": 49, + "norm_label": "api \u2014 layered architecture with event-driven processing" + }, + { + "label": "Web \u2014 Nuxt 2 Static SPA", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L102", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_web_nuxt_2_static_spa", + "community": 49, + "norm_label": "web \u2014 nuxt 2 static spa" + }, + { + "label": "Android \u2014 Task-Oriented, Event-Driven", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L111", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_android_task_oriented_event_driven", + "community": 49, + "norm_label": "android \u2014 task-oriented, event-driven" + }, + { + "label": "Key Conventions", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L119", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_key_conventions", + "community": 49, + "norm_label": "key conventions" + }, + { + "label": "API (Go)", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L121", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_api_go_121", + "community": 49, + "norm_label": "api (go)" + }, + { + "label": "Web (Vue/TypeScript)", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L130", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_web_vue_typescript", + "community": 49, + "norm_label": "web (vue/typescript)" + }, + { + "label": "Android (Kotlin)", + "file_type": "document", + "source_file": ".github/copilot-instructions.md", + "source_location": "L136", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_github_copilot_instructions_android_kotlin_136", + "community": 49, + "norm_label": "android (kotlin)" + }, + { + "label": "AGENTS.md", + "file_type": "document", + "source_file": "AGENTS.md", + "source_location": "L1", + "_origin": "ast", + "id": "agents", + "community": 249, + "norm_label": "agents.md" + }, + { + "label": "Repository agent guidance", + "file_type": "document", + "source_file": "AGENTS.md", + "source_location": "L1", + "_origin": "ast", + "id": "agents_repository_agent_guidance", + "community": 249, + "norm_label": "repository agent guidance" + }, + { + "label": "CODE_OF_CONDUCT.md", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_md", + "community": 77, + "norm_label": "code_of_conduct.md" + }, + { + "label": "Contributor Covenant Code of Conduct", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_contributor_covenant_code_of_conduct", + "community": 77, + "norm_label": "contributor covenant code of conduct" + }, + { + "label": "Our Pledge", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L3", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_our_pledge", + "community": 77, + "norm_label": "our pledge" + }, + { + "label": "Our Standards", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L15", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_our_standards", + "community": 77, + "norm_label": "our standards" + }, + { + "label": "Enforcement Responsibilities", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L39", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_enforcement_responsibilities", + "community": 77, + "norm_label": "enforcement responsibilities" + }, + { + "label": "Scope", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L51", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_scope", + "community": 77, + "norm_label": "scope" + }, + { + "label": "Enforcement", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L59", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_enforcement", + "community": 77, + "norm_label": "enforcement" + }, + { + "label": "Enforcement Guidelines", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L68", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_enforcement_guidelines", + "community": 77, + "norm_label": "enforcement guidelines" + }, + { + "label": "1. Correction", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L73", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_1_correction", + "community": 77, + "norm_label": "1. correction" + }, + { + "label": "2. Warning", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L82", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_2_warning", + "community": 77, + "norm_label": "2. warning" + }, + { + "label": "3. Temporary Ban", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L94", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_3_temporary_ban", + "community": 77, + "norm_label": "3. temporary ban" + }, + { + "label": "4. Permanent Ban", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L105", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_4_permanent_ban", + "community": 77, + "norm_label": "4. permanent ban" + }, + { + "label": "Attribution", + "file_type": "document", + "source_file": "CODE_OF_CONDUCT.md", + "source_location": "L114", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_code_of_conduct_attribution", + "community": 77, + "norm_label": "attribution" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "README.md", + "source_location": "L1", + "_origin": "ast", + "id": "readme", + "community": 100, + "norm_label": "readme.md" + }, + { + "label": "\u067e\u06cc\u0627\u0645\u06a9 \u0646\u0633\u06a9", + "file_type": "document", + "source_file": "README.md", + "source_location": "L1", + "_origin": "ast", + "id": "readme_\u067e\u06cc\u0627\u0645\u06a9_\u0646\u0633\u06a9", + "community": 100, + "norm_label": "\u067e\u06cc\u0627\u0645\u06a9 \u0646\u0633\u06a9" + }, + { + "label": "Upstream project", + "file_type": "document", + "source_file": "README.md", + "source_location": "L16", + "_origin": "ast", + "id": "readme_upstream_project", + "community": 100, + "norm_label": "upstream project" + }, + { + "label": "Table Of Contents", + "file_type": "document", + "source_file": "README.md", + "source_location": "L35", + "_origin": "ast", + "id": "readme_table_of_contents", + "community": 100, + "norm_label": "table of contents" + }, + { + "label": "Why?", + "file_type": "document", + "source_file": "README.md", + "source_location": "L67", + "_origin": "ast", + "id": "readme_why", + "community": 100, + "norm_label": "why?" + }, + { + "label": "Web UI", + "file_type": "document", + "source_file": "README.md", + "source_location": "L73", + "_origin": "ast", + "id": "readme_web_ui", + "community": 100, + "norm_label": "web ui" + }, + { + "label": "API", + "file_type": "document", + "source_file": "README.md", + "source_location": "L78", + "_origin": "ast", + "id": "readme_api", + "community": 100, + "norm_label": "api" + }, + { + "label": "Android App", + "file_type": "document", + "source_file": "README.md", + "source_location": "L94", + "_origin": "ast", + "id": "readme_android_app", + "community": 100, + "norm_label": "android app" + }, + { + "label": "Chat/forum", + "file_type": "document", + "source_file": "README.md", + "source_location": "L101", + "_origin": "ast", + "id": "readme_chat_forum", + "community": 100, + "norm_label": "chat/forum" + }, + { + "label": "Features", + "file_type": "document", + "source_file": "README.md", + "source_location": "L109", + "_origin": "ast", + "id": "readme_features", + "community": 100, + "norm_label": "features" + }, + { + "label": "End-to-end Encryption", + "file_type": "document", + "source_file": "README.md", + "source_location": "L111", + "_origin": "ast", + "id": "readme_end_to_end_encryption", + "community": 100, + "norm_label": "end-to-end encryption" + }, + { + "label": "Webhook", + "file_type": "document", + "source_file": "README.md", + "source_location": "L117", + "_origin": "ast", + "id": "readme_webhook", + "community": 100, + "norm_label": "webhook" + }, + { + "label": "Back Pressure", + "file_type": "document", + "source_file": "README.md", + "source_location": "L122", + "_origin": "ast", + "id": "readme_back_pressure", + "community": 100, + "norm_label": "back pressure" + }, + { + "label": "Message Expiration", + "file_type": "document", + "source_file": "README.md", + "source_location": "L127", + "_origin": "ast", + "id": "readme_message_expiration", + "community": 100, + "norm_label": "message expiration" + }, + { + "label": "API Clients", + "file_type": "document", + "source_file": "README.md", + "source_location": "L133", + "_origin": "ast", + "id": "readme_api_clients", + "community": 100, + "norm_label": "api clients" + }, + { + "label": "Flows", + "file_type": "document", + "source_file": "README.md", + "source_location": "L138", + "_origin": "ast", + "id": "readme_flows", + "community": 100, + "norm_label": "flows" + }, + { + "label": "Sending an SMS Message", + "file_type": "document", + "source_file": "README.md", + "source_location": "L140", + "_origin": "ast", + "id": "readme_sending_an_sms_message", + "community": 100, + "norm_label": "sending an sms message" + }, + { + "label": "Self Host Setup - Docker", + "file_type": "document", + "source_file": "README.md", + "source_location": "L155", + "_origin": "ast", + "id": "readme_self_host_setup_docker", + "community": 100, + "norm_label": "self host setup - docker" + }, + { + "label": "1. Setup Firebase", + "file_type": "document", + "source_file": "README.md", + "source_location": "L157", + "_origin": "ast", + "id": "readme_1_setup_firebase", + "community": 100, + "norm_label": "1. setup firebase" + }, + { + "label": "2. Setup SMTP Email service", + "file_type": "document", + "source_file": "README.md", + "source_location": "L180", + "_origin": "ast", + "id": "readme_2_setup_smtp_email_service", + "community": 100, + "norm_label": "2. setup smtp email service" + }, + { + "label": "3. Setup Cloudflare Turnstile", + "file_type": "document", + "source_file": "README.md", + "source_location": "L185", + "_origin": "ast", + "id": "readme_3_setup_cloudflare_turnstile", + "community": 100, + "norm_label": "3. setup cloudflare turnstile" + }, + { + "label": "4. Download the code", + "file_type": "document", + "source_file": "README.md", + "source_location": "L193", + "_origin": "ast", + "id": "readme_4_download_the_code", + "community": 100, + "norm_label": "4. download the code" + }, + { + "label": "5. Setup the environment variables", + "file_type": "document", + "source_file": "README.md", + "source_location": "L201", + "_origin": "ast", + "id": "readme_5_setup_the_environment_variables", + "community": 100, + "norm_label": "5. setup the environment variables" + }, + { + "label": "6. Build and Run", + "file_type": "document", + "source_file": "README.md", + "source_location": "L251", + "_origin": "ast", + "id": "readme_6_build_and_run", + "community": 100, + "norm_label": "6. build and run" + }, + { + "label": "7. Create the System User", + "file_type": "document", + "source_file": "README.md", + "source_location": "L260", + "_origin": "ast", + "id": "readme_7_create_the_system_user", + "community": 100, + "norm_label": "7. create the system user" + }, + { + "label": "8. Build the Android App.", + "file_type": "document", + "source_file": "README.md", + "source_location": "L271", + "_origin": "ast", + "id": "readme_8_build_the_android_app", + "community": 100, + "norm_label": "8. build the android app." + }, + { + "label": "Integration Testing", + "file_type": "document", + "source_file": "README.md", + "source_location": "L275", + "_origin": "ast", + "id": "readme_integration_testing", + "community": 100, + "norm_label": "integration testing" + }, + { + "label": "License", + "file_type": "document", + "source_file": "README.md", + "source_location": "L295", + "_origin": "ast", + "id": "readme_license", + "community": 100, + "norm_label": "license" + }, + { + "label": "SECURITY.md", + "file_type": "document", + "source_file": "SECURITY.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_security_md", + "community": 201, + "norm_label": "security.md" + }, + { + "label": "Security Policy", + "file_type": "document", + "source_file": "SECURITY.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_security_security_policy", + "community": 201, + "norm_label": "security policy" + }, + { + "label": "Supported Versions", + "file_type": "document", + "source_file": "SECURITY.md", + "source_location": "L3", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_security_supported_versions", + "community": 201, + "norm_label": "supported versions" + }, + { + "label": "Reporting a Vulnerability", + "file_type": "document", + "source_file": "SECURITY.md", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_security_reporting_a_vulnerability", + "community": 201, + "norm_label": "reporting a vulnerability" + }, + { + "label": "NASAK_PRODUCTION.md", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L1", + "_origin": "ast", + "id": "docs_nasak_production", + "community": 127, + "norm_label": "nasak_production.md" + }, + { + "label": "Nasak SMS production deployment", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L1", + "_origin": "ast", + "id": "docs_nasak_production_nasak_sms_production_deployment", + "community": 127, + "norm_label": "nasak sms production deployment" + }, + { + "label": "Architecture", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L7", + "_origin": "ast", + "id": "docs_nasak_production_architecture", + "community": 127, + "norm_label": "architecture" + }, + { + "label": "Required external configuration", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L17", + "_origin": "ast", + "id": "docs_nasak_production_required_external_configuration", + "community": 127, + "norm_label": "required external configuration" + }, + { + "label": "Server layout", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L61", + "_origin": "ast", + "id": "docs_nasak_production_server_layout", + "community": 127, + "norm_label": "server layout" + }, + { + "label": "First deployment", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L72", + "_origin": "ast", + "id": "docs_nasak_production_first_deployment", + "community": 127, + "norm_label": "first deployment" + }, + { + "label": "Android gateway", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L98", + "_origin": "ast", + "id": "docs_nasak_production_android_gateway", + "community": 127, + "norm_label": "android gateway" + }, + { + "label": "Operations", + "file_type": "document", + "source_file": "docs/NASAK_PRODUCTION.md", + "source_location": "L129", + "_origin": "ast", + "id": "docs_nasak_production_operations", + "community": 127, + "norm_label": "operations" + }, + { + "label": "NASAK_SMS.md", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L1", + "_origin": "ast", + "id": "docs_nasak_sms", + "community": 100, + "norm_label": "nasak_sms.md" + }, + { + "label": "\u067e\u06cc\u0627\u0645\u06a9 \u0646\u0633\u06a9", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L1", + "_origin": "ast", + "id": "docs_nasak_sms_\u067e\u06cc\u0627\u0645\u06a9_\u0646\u0633\u06a9", + "community": 100, + "norm_label": "\u067e\u06cc\u0627\u0645\u06a9 \u0646\u0633\u06a9" + }, + { + "label": "\u0647\u0632\u06cc\u0646\u0647 \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L7", + "_origin": "ast", + "id": "docs_nasak_sms_\u0647\u0632\u06cc\u0646\u0647_\u0648_\u0645\u062d\u062f\u0648\u062f\u06cc\u062a", + "community": 100, + "norm_label": "\u0647\u0632\u06cc\u0646\u0647 \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a" + }, + { + "label": "\u0645\u0639\u0645\u0627\u0631\u06cc", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L15", + "_origin": "ast", + "id": "docs_nasak_sms_\u0645\u0639\u0645\u0627\u0631\u06cc", + "community": 100, + "norm_label": "\u0645\u0639\u0645\u0627\u0631\u06cc" + }, + { + "label": "\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06af\u0648\u0634\u06cc", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L39", + "_origin": "ast", + "id": "docs_nasak_sms_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u06af\u0648\u0634\u06cc", + "community": 100, + "norm_label": "\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06af\u0648\u0634\u06cc" + }, + { + "label": "\u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L50", + "_origin": "ast", + "id": "docs_nasak_sms_\u0627\u0631\u0633\u0627\u0644_\u067e\u06cc\u0627\u0645", + "community": 100, + "norm_label": "\u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645" + }, + { + "label": "\u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0627\u06cc\u062a \u0627\u0635\u0644\u06cc \u0646\u0633\u06a9", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L68", + "_origin": "ast", + "id": "docs_nasak_sms_\u0627\u062a\u0635\u0627\u0644_\u0628\u0647_\u0633\u0627\u06cc\u062a_\u0627\u0635\u0644\u06cc_\u0646\u0633\u06a9", + "community": 100, + "norm_label": "\u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0627\u06cc\u062a \u0627\u0635\u0644\u06cc \u0646\u0633\u06a9" + }, + { + "label": "\u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc self-hosted", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L81", + "_origin": "ast", + "id": "docs_nasak_sms_\u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc_self_hosted", + "community": 100, + "norm_label": "\u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc self-hosted" + }, + { + "label": "\u0627\u0645\u0646\u06cc\u062a", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L98", + "_origin": "ast", + "id": "docs_nasak_sms_\u0627\u0645\u0646\u06cc\u062a", + "community": 100, + "norm_label": "\u0627\u0645\u0646\u06cc\u062a" + }, + { + "label": "Backup \u0648 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L109", + "_origin": "ast", + "id": "docs_nasak_sms_backup_\u0648_\u0628\u0627\u0632\u06cc\u0627\u0628\u06cc", + "community": 100, + "norm_label": "backup \u0648 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc" + }, + { + "label": "\u0633\u0644\u0627\u0645\u062a \u0633\u0631\u0648\u06cc\u0633", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L122", + "_origin": "ast", + "id": "docs_nasak_sms_\u0633\u0644\u0627\u0645\u062a_\u0633\u0631\u0648\u06cc\u0633", + "community": 100, + "norm_label": "\u0633\u0644\u0627\u0645\u062a \u0633\u0631\u0648\u06cc\u0633" + }, + { + "label": "\u062a\u0648\u0633\u0639\u0647", + "file_type": "document", + "source_file": "docs/NASAK_SMS.md", + "source_location": "L129", + "_origin": "ast", + "id": "docs_nasak_sms_\u062a\u0648\u0633\u0639\u0647", + "community": 100, + "norm_label": "\u062a\u0648\u0633\u0639\u0647" + }, + { + "label": "2026-05-26-nuxt4-vuetify4-migration.md", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_md", + "community": 20, + "norm_label": "2026-05-26-nuxt4-vuetify4-migration.md" + }, + { + "label": "Nuxt 4 + Vuetify 4 Migration Implementation Plan", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_nuxt_4_vuetify_4_migration_implementation_plan", + "community": 20, + "norm_label": "nuxt 4 + vuetify 4 migration implementation plan" + }, + { + "label": "File Structure", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L13", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_file_structure", + "community": 20, + "norm_label": "file structure" + }, + { + "label": "Task 1: Backup Old Code & Scaffold Nuxt 4 Project", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L104", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_1_backup_old_code_scaffold_nuxt_4_project", + "community": 20, + "norm_label": "task 1: backup old code & scaffold nuxt 4 project" + }, + { + "label": "Task 2: Configure nuxt.config.ts", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L160", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_2_configure_nuxt_config_ts", + "community": 20, + "norm_label": "task 2: configure nuxt.config.ts" + }, + { + "label": "Task 3: Port Utility Files", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L339", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_3_port_utility_files", + "community": 20, + "norm_label": "task 3: port utility files" + }, + { + "label": "Task 4: Port API Models/Types", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L550", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_4_port_api_models_types", + "community": 20, + "norm_label": "task 4: port api models/types" + }, + { + "label": "Task 5: Create useApi Composable", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L666", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_5_create_useapi_composable", + "community": 20, + "norm_label": "task 5: create useapi composable" + }, + { + "label": "Task 6: Create Pinia Stores \u2014 Notifications & App", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L750", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_6_create_pinia_stores_notifications_app", + "community": 20, + "norm_label": "task 6: create pinia stores \u2014 notifications & app" + }, + { + "label": "Task 7: Create Pinia Stores \u2014 Auth", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L865", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_7_create_pinia_stores_auth", + "community": 20, + "norm_label": "task 7: create pinia stores \u2014 auth" + }, + { + "label": "Task 8: Create Pinia Stores \u2014 Phones", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L1010", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_8_create_pinia_stores_phones", + "community": 20, + "norm_label": "task 8: create pinia stores \u2014 phones" + }, + { + "label": "Task 9: Create Pinia Stores \u2014 Threads & Messages", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L1131", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_9_create_pinia_stores_threads_messages", + "community": 20, + "norm_label": "task 9: create pinia stores \u2014 threads & messages" + }, + { + "label": "Task 10: Create Pinia Store \u2014 Billing", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L1346", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_10_create_pinia_store_billing", + "community": 20, + "norm_label": "task 10: create pinia store \u2014 billing" + }, + { + "label": "Task 11: Create Middleware", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L1593", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_11_create_middleware", + "community": 20, + "norm_label": "task 11: create middleware" + }, + { + "label": "Task 12: Port Layouts", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L1632", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_12_port_layouts", + "community": 20, + "norm_label": "task 12: port layouts" + }, + { + "label": "Task 13: Port Components \u2014 Toast, LoadingDashboard, LoadingButton, BackButton", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2017", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_13_port_components_toast_loadingdashboard_loadingbutton_backbutton", + "community": 20, + "norm_label": "task 13: port components \u2014 toast, loadingdashboard, loadingbutton, backbutton" + }, + { + "label": "Task 14: Port Components \u2014 CopyButton, FixedHeader, BlogAuthorBio, BlogInfo, NuxtLogo", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2248", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_14_port_components_copybutton_fixedheader_blogauthorbio_bloginfo_nuxtlogo", + "community": 20, + "norm_label": "task 14: port components \u2014 copybutton, fixedheader, blogauthorbio, bloginfo, nuxtlogo" + }, + { + "label": "Task 15: Port Components \u2014 FirebaseAuth, MessageThread, MessageThreadHeader", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2420", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_15_port_components_firebaseauth_messagethread_messagethreadheader", + "community": 20, + "norm_label": "task 15: port components \u2014 firebaseauth, messagethread, messagethreadheader" + }, + { + "label": "Task 16: Port Pages \u2014 Login & Index (Homepage)", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2760", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_16_port_pages_login_index_homepage", + "community": 20, + "norm_label": "task 16: port pages \u2014 login & index (homepage)" + }, + { + "label": "Task 17: Port Pages \u2014 Threads, Messages, Search, Bulk Messages", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2795", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_17_port_pages_threads_messages_search_bulk_messages", + "community": 20, + "norm_label": "task 17: port pages \u2014 threads, messages, search, bulk messages" + }, + { + "label": "Task 18: Port Pages \u2014 Settings, Billing, Heartbeats, Phone API Keys", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2828", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_18_port_pages_settings_billing_heartbeats_phone_api_keys", + "community": 20, + "norm_label": "task 18: port pages \u2014 settings, billing, heartbeats, phone api keys" + }, + { + "label": "Task 19: Port Pages \u2014 Blog, Legal", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2851", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_19_port_pages_blog_legal", + "community": 20, + "norm_label": "task 19: port pages \u2014 blog, legal" + }, + { + "label": "Task 20: Port Static Assets & Client Plugins", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2880", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_20_port_static_assets_client_plugins", + "community": 20, + "norm_label": "task 20: port static assets & client plugins" + }, + { + "label": "Task 21: Update Docker & Build Config", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L2950", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_21_update_docker_build_config", + "community": 20, + "norm_label": "task 21: update docker & build config" + }, + { + "label": "Task 22: Verify Build Compiles", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L3009", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_22_verify_build_compiles", + "community": 20, + "norm_label": "task 22: verify build compiles" + }, + { + "label": "Task 23: Verify ALL Layouts Render Correctly", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L3051", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_23_verify_all_layouts_render_correctly", + "community": 20, + "norm_label": "task 23: verify all layouts render correctly" + }, + { + "label": "Task 24: Verify ALL Components Render Correctly", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L3084", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_24_verify_all_components_render_correctly", + "community": 20, + "norm_label": "task 24: verify all components render correctly" + }, + { + "label": "Task 25: Verify ALL Pages Render Correctly", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L3147", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_25_verify_all_pages_render_correctly", + "community": 20, + "norm_label": "task 25: verify all pages render correctly" + }, + { + "label": "Task 26: Final Build Verification & Commit", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-05-26-nuxt4-vuetify4-migration.md", + "source_location": "L3258", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_05_26_nuxt4_vuetify4_migration_task_26_final_build_verification_commit", + "community": 20, + "norm_label": "task 26: final build verification & commit" + }, + { + "label": "2026-07-18-message-thread-archive-ui.md", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-message-thread-archive-ui.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_message_thread_archive_ui_md", + "community": 154, + "norm_label": "2026-07-18-message-thread-archive-ui.md" + }, + { + "label": "Message Thread Archive UI Implementation Plan", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-message-thread-archive-ui.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_message_thread_archive_ui_message_thread_archive_ui_implementation_plan", + "community": 154, + "norm_label": "message thread archive ui implementation plan" + }, + { + "label": "Global Constraints", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-message-thread-archive-ui.md", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_message_thread_archive_ui_global_constraints", + "community": 154, + "norm_label": "global constraints" + }, + { + "label": "Task 1: Active Thread Primary Color", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-message-thread-archive-ui.md", + "source_location": "L21", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_message_thread_archive_ui_task_1_active_thread_primary_color", + "community": 154, + "norm_label": "task 1: active thread primary color" + }, + { + "label": "Task 2: Archive Without Switching Filters", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-message-thread-archive-ui.md", + "source_location": "L83", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_message_thread_archive_ui_task_2_archive_without_switching_filters", + "community": 154, + "norm_label": "task 2: archive without switching filters" + }, + { + "label": "Task 3: Production Validation", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-message-thread-archive-ui.md", + "source_location": "L199", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_message_thread_archive_ui_task_3_production_validation", + "community": 154, + "norm_label": "task 3: production validation" + }, + { + "label": "2026-07-18-unarchive-thread-on-receive.md", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_md", + "community": 40, + "norm_label": "2026-07-18-unarchive-thread-on-receive.md" + }, + { + "label": "Unarchive Thread on Receive Implementation Plan", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_unarchive_thread_on_receive_implementation_plan", + "community": 40, + "norm_label": "unarchive thread on receive implementation plan" + }, + { + "label": "Global Constraints", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_global_constraints", + "community": 40, + "norm_label": "global constraints" + }, + { + "label": "File Structure", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L23", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_file_structure", + "community": 40, + "norm_label": "file structure" + }, + { + "label": "Task 1: Add `UnarchiveThread` field to the Phone entity", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L40", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_1_add_unarchivethread_field_to_the_phone_entity", + "community": 40, + "norm_label": "task 1: add `unarchivethread` field to the phone entity" + }, + { + "label": "Task 2: Add `UnarchiveThread` to the received-message event payload", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L74", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_2_add_unarchivethread_to_the_received_message_event_payload", + "community": 40, + "norm_label": "task 2: add `unarchivethread` to the received-message event payload" + }, + { + "label": "Task 3: Populate `UnarchiveThread` on the payload in ReceiveMessage", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L116", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_3_populate_unarchivethread_on_the_payload_in_receivemessage", + "community": 40, + "norm_label": "task 3: populate `unarchivethread` on the payload in receivemessage" + }, + { + "label": "Task 4: Thread unarchive decision helper + wiring (TDD)", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L181", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_4_thread_unarchive_decision_helper_wiring_tdd", + "community": 40, + "norm_label": "task 4: thread unarchive decision helper + wiring (tdd)" + }, + { + "label": "Task 5: Pass the flag through the received-message listener", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L291", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_5_pass_the_flag_through_the_received_message_listener", + "community": 40, + "norm_label": "task 5: pass the flag through the received-message listener" + }, + { + "label": "Task 6: Accept `unarchive_thread` in the phone upsert request/service", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L333", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_6_accept_unarchive_thread_in_the_phone_upsert_request_service", + "community": 40, + "norm_label": "task 6: accept `unarchive_thread` in the phone upsert request/service" + }, + { + "label": "Task 7: Regenerate web API models", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L402", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_7_regenerate_web_api_models", + "community": 40, + "norm_label": "task 7: regenerate web api models" + }, + { + "label": "Task 8: Send `unarchive_thread` in the phones store update", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L435", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_8_send_unarchive_thread_in_the_phones_store_update", + "community": 40, + "norm_label": "task 8: send `unarchive_thread` in the phones store update" + }, + { + "label": "Task 9: Add the per-phone toggle to the settings UI", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L467", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_9_add_the_per_phone_toggle_to_the_settings_ui", + "community": 40, + "norm_label": "task 9: add the per-phone toggle to the settings ui" + }, + { + "label": "Task 10: Full validation", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L514", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_10_full_validation", + "community": 40, + "norm_label": "task 10: full validation" + }, + { + "label": "Task 11: End-to-end integration test", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L541", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_task_11_end_to_end_integration_test", + "community": 40, + "norm_label": "task 11: end-to-end integration test" + }, + { + "label": "Self-Review", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-unarchive-thread-on-receive.md", + "source_location": "L831", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_unarchive_thread_on_receive_self_review", + "community": 40, + "norm_label": "self-review" + }, + { + "label": "2026-07-18-webhook-email-payload-formatting.md", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-webhook-email-payload-formatting.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_webhook_email_payload_formatting_md", + "community": 129, + "norm_label": "2026-07-18-webhook-email-payload-formatting.md" + }, + { + "label": "Webhook Email Payload Formatting Implementation Plan", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-webhook-email-payload-formatting.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_webhook_email_payload_formatting_webhook_email_payload_formatting_implementation_plan", + "community": 129, + "norm_label": "webhook email payload formatting implementation plan" + }, + { + "label": "Global Constraints", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-webhook-email-payload-formatting.md", + "source_location": "L11", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_webhook_email_payload_formatting_global_constraints", + "community": 129, + "norm_label": "global constraints" + }, + { + "label": "File Structure", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-webhook-email-payload-formatting.md", + "source_location": "L26", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_webhook_email_payload_formatting_file_structure", + "community": 129, + "norm_label": "file structure" + }, + { + "label": "Task 1: Build the event payload formatter", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-webhook-email-payload-formatting.md", + "source_location": "L35", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_webhook_email_payload_formatting_task_1_build_the_event_payload_formatter", + "community": 129, + "norm_label": "task 1: build the event payload formatter" + }, + { + "label": "Task 2: Add opt-in rich dictionary rendering to the Hermes theme", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-webhook-email-payload-formatting.md", + "source_location": "L280", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_webhook_email_payload_formatting_task_2_add_opt_in_rich_dictionary_rendering_to_the_hermes_theme", + "community": 129, + "norm_label": "task 2: add opt-in rich dictionary rendering to the hermes theme" + }, + { + "label": "Task 3: Wire formatting into the webhook failure email", + "file_type": "document", + "source_file": "docs/superpowers/plans/2026-07-18-webhook-email-payload-formatting.md", + "source_location": "L399", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_plans_2026_07_18_webhook_email_payload_formatting_task_3_wire_formatting_into_the_webhook_failure_email", + "community": 129, + "norm_label": "task 3: wire formatting into the webhook failure email" + }, + { + "label": "2026-05-26-nuxt4-vuetify4-migration-design.md", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_md", + "community": 28, + "norm_label": "2026-05-26-nuxt4-vuetify4-migration-design.md" + }, + { + "label": "httpSMS Frontend Migration: Nuxt 2 + Vuetify 2 \u2192 Nuxt 4 + Vuetify 4", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L1", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_httpsms_frontend_migration_nuxt_2_vuetify_2_nuxt_4_vuetify_4", + "community": 28, + "norm_label": "httpsms frontend migration: nuxt 2 + vuetify 2 \u2192 nuxt 4 + vuetify 4" + }, + { + "label": "Summary", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L3", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_summary", + "community": 28, + "norm_label": "summary" + }, + { + "label": "Target Versions", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L7", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_target_versions", + "community": 28, + "norm_label": "target versions" + }, + { + "label": "Decisions", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L19", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_decisions", + "community": 28, + "norm_label": "decisions" + }, + { + "label": "Architecture", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L29", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_architecture", + "community": 28, + "norm_label": "architecture" + }, + { + "label": "Directory Structure (Nuxt 4)", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L31", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_directory_structure_nuxt_4", + "community": 28, + "norm_label": "directory structure (nuxt 4)" + }, + { + "label": "Key Migration Patterns", + "file_type": "document", + "source_file": "docs/superpowers/specs/2026-05-26-nuxt4-vuetify4-migration-design.md", + "source_location": "L117", + "_origin": "ast", + "id": "c_users_asus_documents_codex_httpsms_docs_superpowers_specs_2026_05_26_nuxt4_vuetify4_migration_design_key_migration_patterns", + "community": 28, + "norm_label": "key migration patterns" + }, + { + "label": "Components: Class-based \u2192 ` @@ -289,10 +340,10 @@ function getGeneralErrorMessage( variant="flat" class="position-absolute last-used-chip" > - Last Used + آخرین روش - Continue with Google + ورود با گوگل - Last Used + آخرین روش - Continue with GitHub + ورود با گیت‌هاب - Last Used + آخرین روش - Continue with email + ورود با ایمیل @@ -351,11 +402,11 @@ function getGeneralErrorMessage( > - Back to Sign In + بازگشت به ورود @@ -407,7 +458,7 @@ function getGeneralErrorMessage( > {{ generalError }} @@ -438,7 +491,7 @@ function getGeneralErrorMessage( class="mb-3 px-0 mt-n4" @click="showForgotPasswordForm" > - Forgot Password? + رمز عبور را فراموش کرده‌اید؟ - {{ isSignUp ? 'Sign Up' : 'Sign In' }} + {{ isSignUp ? 'ساخت حساب' : 'ورود' }} - {{ - isSignUp ? 'Already have an account? Sign In' : 'No account? Sign Up' - }} + {{ isSignUp ? 'حساب دارید؟ وارد شوید' : 'حساب ندارید؟ ثبت‌نام کنید' }}
diff --git a/web/app/components/FixedHeader.vue b/web/app/components/FixedHeader.vue index b1311f23c..e552cf437 100644 --- a/web/app/components/FixedHeader.vue +++ b/web/app/components/FixedHeader.vue @@ -5,7 +5,7 @@ const { lgAndUp, mdAndDown } = useDisplay()

- By continuing, you are indicating that you accept our + با ادامه، شرایط استفاده و حریم خصوصی را می‌پذیرید. - Terms of Service + شرایط استفاده - and + و - Privacy Policy.