Updated on 2026-08-14
This commit is contained in:
parent
f69ee8bece
commit
090e0964d4
10 changed files with 33 additions and 9 deletions
|
|
@ -2,16 +2,18 @@
|
|||
|
||||
## Branch Naming
|
||||
|
||||
| Type | Format | Example |
|
||||
|------|--------|---------|
|
||||
| Type | Format | Example |
|
||||
|---------|-------------------------------------|-------------------------------------|
|
||||
| Feature | `feature/AND-xxx_short_description` | `feature/AND-13391_balance_fetcher` |
|
||||
| Bugfix | `bugfix/AND-xxx_short_description` | `bugfix/AND-14000_fix_crash` |
|
||||
| Pre-release | `x.x_pre_release` | `5.36_pre_release` |
|
||||
| Bugfix | `bugfix/AND-xxx_short_description` | `bugfix/AND-14000_fix_crash` |
|
||||
| Release | `releases/x.xx` | `releases/5.36` |
|
||||
| Hotfix | `releases/x.xx.x` | `releases/5.36.1` |
|
||||
|
||||
**Key branches:**
|
||||
|
||||
- `develop` — main integration branch, all feature/bugfix branches merge here
|
||||
- `x.x_pre_release` — branched from `develop` on the last day of sprint for the upcoming release; receives regression bugfixes and additional release items
|
||||
- `release` — merging into this branch triggers appTester build and production artifacts; PRs come from `x.x_pre_release`
|
||||
- `releases/x.xx` — release branches, branched from `develop`
|
||||
- `releases/x.xx.x` — hotfix branches, branched from `releases/x.xx`
|
||||
|
||||
## Commit Messages
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,10 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||
|
||||
**Build types:** `debug`, `mocked`, `internal`, `external`, `release`.
|
||||
|
||||
## Branching
|
||||
|
||||
See @.claude/rules/git-rules.md
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
### Module Layers
|
||||
|
|
|
|||
|
|
@ -48,8 +48,9 @@ internal class DefaultAuthProvider(
|
|||
ApiEnvironment.DEV_2,
|
||||
ApiEnvironment.DEV_3,
|
||||
-> environmentConfig.tangemApiKeyDev
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE,
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE_3,
|
||||
-> environmentConfig.tangemApiKeyStage
|
||||
ApiEnvironment.PROD -> environmentConfig.tangemApiKey
|
||||
} ?: error("No tangem tech api config provided")
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ enum class ApiEnvironment {
|
|||
@Json(name = "STAGE_2")
|
||||
STAGE_2,
|
||||
|
||||
@Json(name = "STAGE_3")
|
||||
STAGE_3,
|
||||
|
||||
@Json(name = "MOCK")
|
||||
MOCK,
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ internal class Express(
|
|||
createDev3Environment(),
|
||||
createStageEnvironment(),
|
||||
createStage2Environment(),
|
||||
createStage3Environment(),
|
||||
createMockedEnvironment(),
|
||||
createProdEnvironment(),
|
||||
)
|
||||
|
|
@ -80,6 +81,12 @@ internal class Express(
|
|||
headers = createHeaders(isProd = false),
|
||||
)
|
||||
|
||||
private fun createStage3Environment(): ApiEnvironmentConfig = ApiEnvironmentConfig(
|
||||
environment = ApiEnvironment.STAGE_3,
|
||||
baseUrl = "[REDACTED_ENV_URL]",
|
||||
headers = createHeaders(isProd = false),
|
||||
)
|
||||
|
||||
private fun createMockedEnvironment(): ApiEnvironmentConfig = ApiEnvironmentConfig(
|
||||
environment = ApiEnvironment.MOCK,
|
||||
baseUrl = "[REDACTED_ENV_URL]",
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ internal sealed class TangemPay(
|
|||
ApiEnvironment.PROD -> environmentConfig.bffStaticToken
|
||||
ApiEnvironment.STAGE,
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE_3,
|
||||
ApiEnvironment.DEV_2,
|
||||
ApiEnvironment.DEV_3,
|
||||
-> null
|
||||
|
|
@ -84,6 +85,7 @@ internal sealed class TangemPay(
|
|||
ApiEnvironment.DEV_3,
|
||||
ApiEnvironment.STAGE,
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE_3,
|
||||
-> error("Unknown environment: $apiEnvironment")
|
||||
}
|
||||
}
|
||||
|
|
@ -102,6 +104,7 @@ internal sealed class TangemPay(
|
|||
ApiEnvironment.DEV_3,
|
||||
ApiEnvironment.STAGE,
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE_3,
|
||||
-> error("Unknown environment: $apiEnvironment")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ internal class YieldSupply(
|
|||
ApiEnvironment.DEV_3,
|
||||
ApiEnvironment.STAGE,
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE_3,
|
||||
-> environmentConfig.yieldModuleApiKeyDev
|
||||
ApiEnvironment.PROD -> environmentConfig.yieldModuleApiKey
|
||||
} ?: error("No tangem tech api config provided")
|
||||
|
|
|
|||
|
|
@ -334,6 +334,7 @@ internal class DefaultTangemPayCardDetailsRepository @Inject constructor(
|
|||
ApiEnvironment.DEV_3,
|
||||
ApiEnvironment.STAGE,
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE_3,
|
||||
ApiEnvironment.MOCK,
|
||||
-> visaLibLoader.getOrCreateConfig().rainRSAPublicKey.dev
|
||||
ApiEnvironment.PROD -> visaLibLoader.getOrCreateConfig().rainRSAPublicKey.prod
|
||||
|
|
|
|||
|
|
@ -173,6 +173,7 @@ internal class DefaultVisaActivationRepository @AssistedInject constructor(
|
|||
ApiEnvironment.DEV_3,
|
||||
ApiEnvironment.STAGE,
|
||||
ApiEnvironment.STAGE_2,
|
||||
ApiEnvironment.STAGE_3,
|
||||
ApiEnvironment.MOCK,
|
||||
-> rsaPublicKey.dev
|
||||
ApiEnvironment.PROD -> rsaPublicKey.prod
|
||||
|
|
|
|||
|
|
@ -17,8 +17,9 @@ internal object ApiEnvironmentComparator : Comparator<ApiEnvironmentConfig> {
|
|||
ApiEnvironment.DEV_3 -> 2
|
||||
ApiEnvironment.STAGE -> 3
|
||||
ApiEnvironment.STAGE_2 -> 4
|
||||
ApiEnvironment.MOCK -> 5
|
||||
ApiEnvironment.PROD -> 6
|
||||
ApiEnvironment.STAGE_3 -> 5
|
||||
ApiEnvironment.MOCK -> 6
|
||||
ApiEnvironment.PROD -> 7
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue