Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
5a28f4b
Update application.properties
SauravBizbRolly Nov 26, 2025
ea12e3e
add column in create BeneficiaryModel
SauravBizbRolly Nov 26, 2025
50c5952
Elasticsearch implementation for Beneficiary Search (#324)
vanitha1822 Dec 18, 2025
1bc9298
variable added
sac2kadam Dec 31, 2025
4b975ff
Merge pull request #330 from PSMRI/add_ci_docker_properties
drtechie Dec 31, 2025
a1a0027
Merge pull request #317 from PSMRI/release-3.6.0
5Amogh Jan 7, 2026
c501e80
update language
SauravBizbRolly Jan 7, 2026
ec3aac3
update language
SauravBizbRolly Jan 7, 2026
bafc879
Downgrade version from 3.6.1 to 3.6.0
SauravBizbRolly Jan 7, 2026
65efdc7
Elastic Search Implementation for Advanced Search (#327)
vanitha1822 Jan 8, 2026
38a4147
Remove empty line in application.properties
SauravBizbRolly Jan 8, 2026
17620d3
fix:signature check for mmu
vishwab1 Jan 9, 2026
68b246e
Merge pull request #335 from PSMRI/release-3.6.1-sign
snehar-nd Jan 9, 2026
9c1493a
Update application.properties
SauravBizbRolly Jan 9, 2026
984d533
Update application.properties
SauravBizbRolly Jan 9, 2026
c3bc3cb
fix: retrive any user without deleted
vishwab1 Jan 13, 2026
8dcdfc3
Merge pull request #336 from PSMRI/release-3.6.1-sign
snehar-nd Jan 13, 2026
5190737
implement state wise hide un hide form fields
SauravBizbRolly Jan 14, 2026
b5f0670
Merge pull request #337 from PSMRI/feature/hide_feilds_state_wise
SauravBizbRolly Jan 14, 2026
4d20b8c
implement state wise hide un hide form fields
SauravBizbRolly Jan 14, 2026
bed849b
implement state wise hide un hide form fields
SauravBizbRolly Jan 16, 2026
dd2c323
enhance welcome sms code
SauravBizbRolly Jan 18, 2026
6d224eb
Merge pull request #338 from PSMRI/feature/manage_upload_file
SauravBizbRolly Jan 18, 2026
4104ad0
fix hide unhide form issue
SauravBizbRolly Jan 18, 2026
c162bcc
Merge pull request #340 from PSMRI/fix_form_feilds_issue
SauravBizbRolly Jan 18, 2026
7280c42
docs: add DeepWiki badge and documentation link
DurgaPrasad-54 Jan 19, 2026
61c89c4
Add DeepWiki badge to README
DurgaPrasad-54 Jan 19, 2026
caf5523
Merge pull request #342 from DurgaPrasad-54/main
drtechie Jan 19, 2026
fdbc9b7
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
0c64cef
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
b3a1922
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
c4c1d48
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
f10f37c
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
b3da893
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
f94d0b0
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
be7889e
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
0022329
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
ba824be
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
c0c5333
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
2e18fdd
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
acd9d8e
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
475a4ac
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
f952708
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
64b2a7e
fix hide unhide form issue
SauravBizbRolly Jan 21, 2026
97f7d5f
Merge branch 'release-3.6.1' into feature/form_validation
SauravBizbRolly Jan 21, 2026
cb1b06e
Merge pull request #343 from PSMRI/feature/form_validation
SauravBizbRolly Jan 21, 2026
f60f36e
chore(swagger): automate swagger sync to amrit-docs (#354)
DurgaPrasad-54 Feb 10, 2026
3c1ef4b
Update the swagger json github workflow (#359)
DurgaPrasad-54 Feb 17, 2026
a12c8ad
Add /health endpoint and standardize /version response (#331)
vaishnavbhosale Feb 22, 2026
4b44045
Add advance health check for database (#361)
DurgaPrasad-54 Mar 2, 2026
231773e
Merge Release-3.8.0 (3.6.1) to Main (#379)
vanitha1822 Mar 19, 2026
833f157
fix: video consultation functionality
vanitha1822 Jul 23, 2025
114dee9
fix: pom version update
vanitha1822 Mar 24, 2026
8e9a650
fix: add cti-server-ip
vanitha1822 Mar 30, 2026
dfa00ac
fix: comment unwanted code
vanitha1822 Mar 30, 2026
9f379fb
fix: update videocall url property
vanitha1822 Mar 30, 2026
f0a1177
fix: update cti-server-ip
vanitha1822 Mar 30, 2026
eec7cfe
docs: add CLAUDE.md for Claude Code guidance
snehar-nd Mar 30, 2026
4b5d250
fix: KM issue
vanitha1822 Mar 31, 2026
e1c84e8
fix: KM issue
vanitha1822 Mar 31, 2026
cd61d46
fix: remove unwanted imports
vanitha1822 Mar 31, 2026
92d49ad
fix: conflicts
vanitha1822 Mar 31, 2026
f1496fa
fix: update the temp path
vanitha1822 Apr 1, 2026
72f0c28
Fix the OpenKM Issue (#389)
vanitha1822 Apr 7, 2026
79b050d
Fix ConfigProperties to resolve env variable placeholders via Spring …
vishwab1 Apr 7, 2026
31ff821
fix: update sms issue
vanitha1822 Apr 8, 2026
eefbed1
fix: merge with 3.6.2
vanitha1822 Apr 8, 2026
ac388d2
fix: build issue
vanitha1822 Apr 8, 2026
00aa6da
fix: update condition
vanitha1822 Apr 8, 2026
c49d792
fix: edit ben issue
vanitha1822 Apr 9, 2026
9bbfdfc
fix: phone number issue for sms
vanitha1822 Apr 9, 2026
61cc94e
fix: update the url with jwt token
vanitha1822 Apr 9, 2026
a48b4af
fix: jitsi authorization issue
vanitha1822 Apr 10, 2026
389c20d
fix: skip auth
vanitha1822 Apr 10, 2026
1fc6509
fix: hash key updation
vanitha1822 Apr 10, 2026
640841b
fix: jwt type in header for authorization
vanitha1822 Apr 10, 2026
677c051
fix: update file path
vanitha1822 Apr 17, 2026
2a86dbd
fix: vc recording path updation
vanitha1822 Apr 20, 2026
6e9edb8
fix: update video call recording functionality
vanitha1822 Apr 20, 2026
e86e24c
fix: remove unwanted codes
vanitha1822 Apr 20, 2026
a984171
fix: resolve the conflicts
vanitha1822 Apr 20, 2026
4bfad24
fix: coderabbit comments
vanitha1822 Apr 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions .github/workflows/swagger-json.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Sync Swagger to AMRIT-Docs

on:
push:
branches: [ main ]
workflow_dispatch:

jobs:
swagger-sync:
runs-on: ubuntu-latest
timeout-minutes: 20

steps:
- name: Checkout API repo
uses: actions/checkout@v4

- name: Set up Java 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: maven

- name: Build API (skip tests)
run: mvn -B clean package -DskipTests

- name: Install jq
run: sudo apt-get update && sudo apt-get install -y jq

- name: Run API in swagger profile
run: |
mvn spring-boot:run \
-Dspring-boot.run.profiles=swagger \
-Dspring-boot.run.arguments=--server.port=9090 \
> app.log 2>&1 &
echo $! > api_pid.txt

- name: Wait for API & fetch Swagger
run: |
for i in {1..40}; do
CODE=$(curl --connect-timeout 2 --max-time 5 -s -o swagger_raw.json -w "%{http_code}" http://localhost:9090/v3/api-docs || true)

if [ "$CODE" = "200" ]; then
jq . swagger_raw.json > common-api.json || {
echo "Swagger JSON invalid"
cat swagger_raw.json
exit 1
}

if [ "$(jq '.paths | length' common-api.json)" -eq 0 ]; then
echo "Swagger paths empty – failing"
exit 1
fi

echo "Swagger generated successfully"
exit 0
fi

echo "Waiting for API... ($i)"
sleep 4
done

echo "Swagger not generated"
cat app.log || true
exit 1

- name: Stop API
if: always()
run: |
# Graceful shutdown of the process group
sleep 5
# Force kill the process group if still running
if [ -f api_pid.txt ]; then
PID=$(cat api_pid.txt)
kill -TERM -- -"$PID" 2>/dev/null || true
sleep 2
kill -9 -- -"$PID" 2>/dev/null || true
fi
# Fallback: kill any remaining java process on port 9090
fuser -k 9090/tcp 2>/dev/null || true

- name: Checkout AMRIT-Docs
uses: actions/checkout@v4
with:
repository: PSMRI/AMRIT-Docs
token: ${{ secrets.DOCS_REPO_TOKEN }}
path: amrit-docs
fetch-depth: 0

- name: Copy Swagger JSON
run: |
mkdir -p amrit-docs/docs/swagger
cp common-api.json amrit-docs/docs/swagger/common-api.json

# Use a fixed branch name for PRs to avoid accumulating stale PRs.
# This ensures only one open PR is updated per run; delete-branch: true cleans up after merge.
- name: Create Pull Request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.DOCS_REPO_TOKEN }}
path: amrit-docs
branch: auto/swagger-update-common-api
base: main
commit-message: "chore(docs): auto-update Common-API swagger"
title: "chore(docs): auto-update Common-API swagger"
delete-branch: true
body: |
This PR automatically updates Common-API Swagger JSON
from the latest main branch build.
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"java.compile.nullAnalysis.mode": "automatic"
}
98 changes: 98 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# CLAUDE.md - Common-API

## Project Overview

Common-API is the gateway microservice for the AMRIT healthcare platform. It provides shared APIs consumed by all frontend UIs including authentication, beneficiary registration, call handling, location masters, notifications, feedback, reporting, and integrations with external systems (c-Zentrix CTI, Everwell, eAusadha, eSanjeevani, ABDM, Firebase, Honeywell POCT devices).

## Tech Stack

- Java 17
- Spring Boot 3.2.2
- Spring Data JPA / Hibernate
- MySQL 8.0
- Redis (session management, caching)
- MongoDB (optional, for specific integrations)
- Maven (build tool)
- Swagger/OpenAPI (API documentation)
- Lombok, MapStruct
- CryptoJS-compatible AES encryption
- Firebase Admin SDK
- WAR packaging (deploys to Wildfly)

## Build and Run

```bash
# Build
mvn clean install -DENV_VAR=local

# Run locally (start Redis first)
mvn spring-boot:run -DENV_VAR=local

# Package WAR
mvn -B package --file pom.xml -P <profile> # profiles: dev, local, test, ci, uat

# Run tests
mvn test
```

### Configuration

- Copy `src/main/environment/common_example.properties` to `common_local.properties` and edit.
- Environment selected via `-DENV_VAR=<env>`.
- Swagger UI: `http://localhost:8083/swagger-ui.html`

## Package Structure

Base package: `com.iemr.common`

| Layer | Package | Description |
|-------|---------|-------------|
| Controllers | `controller.*` | REST endpoints (40+ sub-packages) |
| Services | `service.*` | Business logic |
| Repositories | `repository.*`, `repo.*` | JPA repositories |
| Entities | `data.*` | JPA entity classes |
| DTOs | `model.*` | Transfer objects |
| Mappers | `mapper.*` | Object mapping |
| Config | `config.*` | Swagger, encryption, Firebase, Quartz, prototypes |
| Constants | `constant` | Application constants |
| Utils | `utils.*` | Redis, HTTP, session, validation, exception |

## Key Functional Domains

- **Authentication/Authorization**: `controller.users` - login, session, user management
- **Beneficiary Registration**: `controller.beneficiary` - create, search, update beneficiaries
- **Call Handling**: `controller.callhandling` - CTI integration, call lifecycle
- **Feedback/Grievance**: `controller.feedback`, `controller.grievance` - feedback and complaint management
- **Location**: `controller.location` - state, district, block, village masters
- **Notifications**: `controller.notification` - alerts, SMS, email, Firebase push
- **Reporting**: `controller.report`, `controller.secondaryReport` - CRM reports
- **Helpline 104**: `controller.helpline104history` - medical advice history
- **COVID**: `controller.covid` - vaccination status
- **CTI Integration**: `controller.cti` - c-Zentrix computer telephony
- **External Integrations**: `controller.eausadha`, `controller.esanjeevani`, `controller.everwell`, `controller.honeywell`, `controller.brd`, `controller.carestream`
- **ABDM**: `controller.abdmfacility` - Ayushman Bharat Digital Mission
- **KM File Management**: `controller.kmfilemanager` - OpenKM document management
- **OTP/SMS**: `controller.otp`, `controller.sms` (via SMS gateway)
- **Scheduling**: `controller.questionconfig`, `controller.scheme`
- **Door-to-Door App**: `controller.door_to_door_app` - field worker support
- **NHM Dashboard**: `controller.nhmdashboard` - National Health Mission integration

## Architecture Notes

- Entry point: `CommonMain.java` (main class in `utils` package)
- Acts as the API gateway; all frontend UIs authenticate through Common-API
- Session management via Redis with 27-minute timeout
- HTTP interceptors attach `Authorization` and `ServerAuthorization` headers
- Status code `5002` signals session expiration to frontends
- AES + PBKDF2 encryption for password handling (`config.encryption`)
- Firebase integration for push notifications (`config.firebase`)
- Quartz scheduler for background jobs (`config.quartz`)
- Extensive test coverage with unit tests under `src/test/`

## CI/CD

- GitHub Actions: `package.yml`, `build-on-pull-request.yml`, `sast.yml`, `commit-lint.yml`, `codeql.yml`
- Conventional Commits enforced via Husky + commitlint
- Checkstyle configuration in `checkstyle.xml`
- JaCoCo for code coverage, SonarQube integration configured
- Dockerfile for containerized deployment
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# AMRIT - Common Service
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![branch parameter](https://github.com/PSMRI/Common-API/actions/workflows/sast-and-package.yml/badge.svg)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![DeepWiki](https://img.shields.io/badge/DeepWiki-PSMRI/Common--API-blue)](https://deepwiki.com/PSMRI/Common-API)


Common API is a microservice whch acts as a gateway for AMRIT. There are many APIs that are exposed by Common-API. It contains APIs of common integrators like c-Zentrix, Everwell, Openkm and some master APIs like location master, alerts, notification,language and location messages.
Expand Down Expand Up @@ -87,4 +88,3 @@ If you encounter any issues, bugs, or have feature requests, please file them in

We’d love to have you join our community discussions and get real-time support!
Join our [Discord server](https://discord.gg/FVQWsf5ENS) to connect with contributors, ask questions, and stay updated.

28 changes: 27 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.iemr.common-API</groupId>
<artifactId>common-api</artifactId>
<version>3.6.0</version>
<version>3.7.0</version>
<packaging>war</packaging>

<name>Common-API</name>
Expand Down Expand Up @@ -520,6 +520,32 @@
<build>
<finalName>${artifactId}-${version}</finalName>
<plugins>
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
<version>9.0.2</version>
<executions>
<execution>
<id>get-the-git-infos</id>
<goals>
<goal>revision</goal>
</goals>
<phase>initialize</phase>
</execution>
</executions>
<configuration>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
<includeOnlyProperties>
<property>^git.branch$</property>
<property>^git.commit.id.abbrev$</property>
<property>^git.build.version$</property>
<property>^git.build.time$</property>
</includeOnlyProperties>
<failOnNoGitDirectory>false</failOnNoGitDirectory>
<failOnUnableToExtractRepoInfo>false</failOnUnableToExtractRepoInfo>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
Expand Down
18 changes: 16 additions & 2 deletions src/main/environment/common_ci.properties
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ km-base-path=@env.KM_API_BASE_PATH@
km-root-path=/okm:personal/users/
km-guest-user=@env.KM_GUEST_USER@
km-guest-password=@env.KM_GUEST_PASSWORD@
tempFilePath=@env.TEMP_FILE_PATH@

# CTI Config
cti-server-ip=@env.CTI_SERVER_IP@
Expand Down Expand Up @@ -189,10 +190,19 @@ captcha.enable-captcha=@env.ENABLE_CAPTCHA@

cors.allowed-origins=@env.CORS_ALLOWED_ORIGINS@

video-call-url=@env.VIDEO_CALL_URL@
jibri.output.path=@env.JIBRI_OUTPUT_PATH@
# Jitsi configuration
videocall.url=@env.VIDEO_CALL_URL@
video.recording.path=@env.VIDEO_RECORDING_PATH@

# Jitsi JWT (prosody token-auth)
jitsi.app.id=@env.JITSI_APP_ID@
jitsi.app.secret=@env.JITSI_APP_SECRET@
jitsi.domain=@env.JITSI_DOMAIN@
jitsi.sub=@env.JITSI_SUB@
jitsi.token.ttl.seconds=@env.JITSI_TOKEN_TTL_SECONDS@
jitsi.room.prefix=@env.JITSI_ROOM_PREFIX@
jitsi.default.user.email=@env.JITSI_DEFAULT_USER_EMAIL@

platform.feedback.ratelimit.enabled=@env.PLATFORM_FEEDBACK_RATELIMIT_ENABLED@
platform.feedback.ratelimit.pepper=@env.PLATFORM_FEEDBACK_RATELIMIT_PEPPER@
platform.feedback.ratelimit.trust-forwarded-for=@env.PLATFORM_FEEDBACK_RATELIMIT_TRUST_FORWARDED_FOR@
Expand All @@ -202,5 +212,9 @@ platform.feedback.ratelimit.day-limit=@env.PLATFORM_FEEDBACK_RATELIMIT_DAY_LIMIT
platform.feedback.ratelimit.user-day-limit=@env.PLATFORM_FEEDBACK_RATELIMIT_USER_DAY_LIMIT@
platform.feedback.ratelimit.fail-window-minutes=@env.PLATFORM_FEEDBACK_RATELIMIT_FAIL_WINDOW_MINUTES@
platform.feedback.ratelimit.backoff-minutes=@env.PLATFORM_FEEDBACK_RATELIMIT_BACKOFF_MINUTES@
otp.ratelimit.enabled=@env.OTP_RATELIMIT_ENABLED@
otp.ratelimit.minute-limit=@env.OTP_RATELIMIT_MINUTE_LIMIT@
otp.ratelimit.hour-limit=@env.OTP_RATELIMIT_HOUR_LIMIT@
otp.ratelimit.day-limit=@env.OTP_RATELIMIT_DAY_LIMIT@
generateBeneficiaryIDs-api-url=@env.GEN_BENEFICIARY_IDS_API_URL@

18 changes: 15 additions & 3 deletions src/main/environment/common_docker.properties
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ everwellRegisterBenficiary = ${COMMON_API_BASE_URL}/beneficiary/create
## LungAssessment credentials
lungAssessmentEmail = ${SWAASA_EMAIL}
lungAssessmentPassword =${SWAASA_PASSWORD}

tempFilePath=${TEMP_FILE_PATH}

## SWASSA APIs
lungAssessmentAdminLogin = ${SWAASA_BASE_URL}/api/adminLogin
Expand Down Expand Up @@ -192,10 +192,18 @@ firebase.enabled=${FIREBASE_ENABLE}
firebase.credential-file=${FIREBASE_CREDENTIAL}


video-call-url=${VIDEO_CALL_URL}
jibri.output.path={JIBRI_OUTPUT_PATH}
videocall.url=${VIDEO_CALL_URL}
video.recording.path={VIDEO_RECORDING_PATH}

# Jitsi JWT (prosody token-auth)
jitsi.app.id=${JITSI_APP_ID}
jitsi.app.secret=${JITSI_APP_SECRET}
jitsi.domain=${JITSI_DOMAIN}
jitsi.sub=${JITSI_SUB}
jitsi.token.ttl.seconds=${JITSI_TOKEN_TTL_SECONDS}
jitsi.room.prefix=${JITSI_ROOM_PREFIX}
jitsi.default.user.email=${JITSI_DEFAULT_USER_EMAIL}

# Platform Feedback module
platform.feedback.ratelimit.enabled=${PLATFORM_FEEDBACK_RATELIMIT_ENABLED}
platform.feedback.ratelimit.pepper=${PLATFORM_FEEDBACK_RATELIMIT_PEPPER}
Expand All @@ -206,4 +214,8 @@ platform.feedback.ratelimit.day-limit=${PLATFORM_FEEDBACK_RATELIMIT_DAY_LIMIT}
platform.feedback.ratelimit.user-day-limit=${PLATFORM_FEEDBACK_RATELIMIT_USER_DAY_LIMIT}
platform.feedback.ratelimit.fail-window-minutes=${PLATFORM_FEEDBACK_RATELIMIT_FAIL_WINDOW_MINUTES}
platform.feedback.ratelimit.backoff-minutes=${PLATFORM_FEEDBACK_RATELIMIT_BACKOFF_MINUTES}
otp.ratelimit.enabled=${OTP_RATELIMIT_ENABLED}
otp.ratelimit.minute-limit=${OTP_RATELIMIT_MINUTE_LIMIT}
otp.ratelimit.hour-limit=${OTP_RATELIMIT_HOUR_LIMIT}
otp.ratelimit.day-limit=${OTP_RATELIMIT_DAY_LIMIT}
generateBeneficiaryIDs-api-url={GEN_BENEFICIARY_IDS_API_URL}
21 changes: 18 additions & 3 deletions src/main/environment/common_example.properties
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ km-root-path=/okm:personal/users/
km-guest-user=guest
km-guest-password=guest

tempFilePath=/tmp

# CTI Config
cti-server-ip=10.208.122.99
cti-logger_base_url=http://10.208.122.99/logger
Expand Down Expand Up @@ -198,9 +200,9 @@ grievanceAllocationRetryConfiguration=3
logging.path=logs/
logging.file.name=logs/common-api.log

video-call-url=https://vc.piramalswasthya.org/?
jibri.output.path=/srv/jibri/recordings
video.recording.path=/srv/recordings
# Jitsi configuration
videocall.url=https://vc.piramalswasthya.org/?
video.recording.path=/opt/recordings

captcha.secret-key= <Enter Cloudflare Secret Key>
captcha.verify-url= https://challenges.cloudflare.com/turnstile/v0/siteverify
Expand All @@ -224,5 +226,18 @@ platform.feedback.ratelimit.user-day-limit=50
platform.feedback.ratelimit.fail-window-minutes=5
platform.feedback.ratelimit.backoff-minutes=15

# --- OTP Rate Limiting (per mobile number) ---
otp.ratelimit.minute-limit=3
otp.ratelimit.hour-limit=10
otp.ratelimit.day-limit=20

### generate Beneficiary IDs URL
generateBeneficiaryIDs-api-url=/generateBeneficiaryController/generateBeneficiaryIDs

JITSI_APP_ID=piramal_vc
JITSI_APP_SECRET=5b9883418be6f228ffe3ceaa74dd3d3b91737733a4a85c5e82fc584ad449850b
JITSI_DOMAIN=vc.piramalswasthya.org
JITSI_SUB=meet.jitsi
JITSI_TOKEN_TTL_SECONDS=3600
JITSI_ROOM_PREFIX=piramal-meeting-
JITSI_DEFAULT_USER_EMAIL=admin@piramalswasthya.org
Loading
Loading