/*
 * Copyright © 2023 Harsh Shandilya.
 * Use of this source code is governed by an MIT-style
 * license that can be found in the LICENSE file or at
 * https://opensource.org/licenses/MIT.
 */
package dev.msfjarvis.claw.database.injection

import javax.inject.Qualifier

/**
 * Neato workaround for not allowing the [dev.msfjarvis.claw.database.LobstersDatabase] type to be
 * used directly by modules that depend on this one, as we prefer them to use the specific types
 * from [QueriesModule] instead. A [Qualifier] applied to the
 * [dev.msfjarvis.claw.database.LobstersDatabase] type makes all injection sites require it as well,
 * and marking the annotation class' visibility as `internal` lets it stay visible to the Java code
 * generated by Dagger but inaccessible by the Kotlin code we're writing ourselves.
 */
@Qualifier @Retention(AnnotationRetention.RUNTIME) internal annotation class InternalDatabaseApi
