# CODEOWNERS for purchases-ios
#
# The last matching pattern takes precedence, so rules go from broadest to most specific.
# Code owner review is not required to merge: these rules only decide who gets a review request.

# Fallback for anything not matched below (build config, samples, test apps, CI, release files)
* @RevenueCat/sdk

# Core SDK
/Sources/ @RevenueCat/coresdk
/Tests/UnitTests/ @RevenueCat/coresdk
/Tests/StoreKitUnitTests/ @RevenueCat/coresdk
/Tests/BackendIntegrationTests/ @RevenueCat/coresdk
/Tests/ReceiptParserTests/ @RevenueCat/coresdk

# The Xcode project file changes whenever any source file is added, moved or removed, so it
# carries no owner of its own: the owners of the files being changed get the review request
/RevenueCat.xcodeproj/project.pbxproj

# Paywalls (V1 templates and V2 components)
/RevenueCatUI/ @RevenueCat/paywalls
/Tests/RevenueCatUITests/ @RevenueCat/paywalls
/Sources/Paywalls/ @RevenueCat/paywalls
/Tests/UnitTests/Paywalls/ @RevenueCat/paywalls
/Projects/Paywall*/ @RevenueCat/paywalls
/Tests/TestingApps/Paywall*/ @RevenueCat/paywalls

# Workflows
/Sources/**/*Workflow* @RevenueCat/workflows
/RevenueCatUI/**/*Workflow* @RevenueCat/workflows
/Tests/**/*Workflow* @RevenueCat/workflows
/Projects/AutomatedSDKTestsApp/maestro/workflows/ @RevenueCat/workflows
/Projects/AutomatedSDKTestsApp/AutomatedSDKTestsApp/Sources/AutomatedSDKTestsApp/e2e-test-flows/*workflow* @RevenueCat/workflows

# Checkpoints (after Workflows, so checkpoint files with Workflow in the name stay here)
/Sources/Checkpoints/ @RevenueCat/coresdk
/Tests/UnitTests/Checkpoints/ @RevenueCat/coresdk
/RevenueCatUI/Checkpoints/ @RevenueCat/coresdk
/Tests/RevenueCatUITests/Checkpoints/ @RevenueCat/coresdk

# Ads
/Sources/Ads/ @RevenueCat/ads
/Tests/UnitTests/Ads/ @RevenueCat/ads
/AdapterSDKs/ @RevenueCat/ads
/Projects/AdMobIntegrationSample/ @RevenueCat/ads
/Projects/RevenueCatAdMob/ @RevenueCat/ads
/Examples/VanillaAdTrackingSample/ @RevenueCat/ads

# Customer Center code and related UI tests
/Sources/CustomerCenter/ @RevenueCat/customer-center
/Tests/UnitTests/CustomerCenter/ @RevenueCat/customer-center
/Sources/Networking/**/*CustomerCenter* @RevenueCat/customer-center
/Tests/UnitTests/Networking/**/*CustomerCenter* @RevenueCat/customer-center
/RevenueCatUI/CustomerCenter/ @RevenueCat/customer-center
/Tests/RevenueCatUITests/CustomerCenter/ @RevenueCat/customer-center
/Projects/AutomatedSDKTestsApp/maestro/customer_center/ @RevenueCat/customer-center

# Public API surface: changes here should stay visible to the whole SDK team
/api/ @RevenueCat/sdk
/Tests/APITesters/ @RevenueCat/sdk
/Projects/APITesters/ @RevenueCat/sdk
