// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.29.0

package configdb

import (
	"context"

	"github.com/google/uuid"
	"github.com/jackc/pgx/v5/pgtype"
)

type Querier interface {
	CheckOrgBucketAccess(ctx context.Context, arg CheckOrgBucketAccessParams) (bool, error)
	ClearAdminAPIKeys(ctx context.Context) error
	ClearBucketConfigurations(ctx context.Context) error
	ClearBucketPrefixMappings(ctx context.Context) error
	ClearOrganizationAPIKeyMappings(ctx context.Context) error
	ClearOrganizationAPIKeys(ctx context.Context) error
	ClearOrganizationBuckets(ctx context.Context) error
	ClearOrganizations(ctx context.Context) error
	CreateAdminAPIKey(ctx context.Context, arg CreateAdminAPIKeyParams) (AdminApiKey, error)
	CreateBucketConfiguration(ctx context.Context, arg CreateBucketConfigurationParams) (BucketConfiguration, error)
	CreateBucketPrefixMapping(ctx context.Context, arg CreateBucketPrefixMappingParams) (BucketPrefixMapping, error)
	CreateOrganizationAPIKey(ctx context.Context, arg CreateOrganizationAPIKeyParams) (OrganizationApiKey, error)
	CreateOrganizationAPIKeyMapping(ctx context.Context, arg CreateOrganizationAPIKeyMappingParams) (OrganizationApiKeyMapping, error)
	CreateOrganizationBucket(ctx context.Context, arg CreateOrganizationBucketParams) (OrganizationBucket, error)
	DeleteAdminAPIKey(ctx context.Context, apiKeyID uuid.UUID) error
	DeleteBucketConfiguration(ctx context.Context, bucketName string) error
	DeleteBucketPrefixMapping(ctx context.Context, id uuid.UUID) error
	DeleteOrganization(ctx context.Context, id uuid.UUID) error
	DeleteOrganizationAPIKey(ctx context.Context, id uuid.UUID) error
	DeleteOrganizationAPIKeyMapping(ctx context.Context, apiKeyID uuid.UUID) error
	// Delete API key mapping by hash
	DeleteOrganizationAPIKeyMappingByHash(ctx context.Context, arg DeleteOrganizationAPIKeyMappingByHashParams) error
	DeleteOrganizationBucket(ctx context.Context, arg DeleteOrganizationBucketParams) error
	// Delete organization bucket mappings not in c_ tables
	DeleteOrganizationBucketMappings(ctx context.Context, arg DeleteOrganizationBucketMappingsParams) error
	// Delete organizations not in c_ tables
	DeleteOrganizationsNotInList(ctx context.Context, idsToDelete []uuid.UUID) error
	GetActiveOrganizations(ctx context.Context) ([]GetActiveOrganizationsRow, error)
	GetAdminAPIKeyByHash(ctx context.Context, keyHash string) (AdminApiKey, error)
	GetAdminAPIKeyByID(ctx context.Context, apiKeyID uuid.UUID) (AdminApiKey, error)
	GetAllAdminAPIKeys(ctx context.Context) ([]AdminApiKey, error)
	// Get all our bucket configurations
	GetAllBucketConfigurations(ctx context.Context) ([]GetAllBucketConfigurationsRow, error)
	// Get all bucket configurations from c_ tables with org mappings
	GetAllCBucketData(ctx context.Context) ([]GetAllCBucketDataRow, error)
	// Get all API keys from c_ tables
	GetAllCOrganizationAPIKeys(ctx context.Context) ([]GetAllCOrganizationAPIKeysRow, error)
	GetAllCOrganizationAPIKeysForSync(ctx context.Context) ([]GetAllCOrganizationAPIKeysForSyncRow, error)
	// This file contains queries for syncing data from legacy c_ tables (managed externally)
	// to our own tables that we control.
	// Fetch all organizations from c_ tables
	GetAllCOrganizations(ctx context.Context) ([]GetAllCOrganizationsRow, error)
	// Legacy table sync operations
	GetAllCStorageProfilesForSync(ctx context.Context) ([]GetAllCStorageProfilesForSyncRow, error)
	// Get all our API key mappings
	GetAllOrganizationAPIKeyMappings(ctx context.Context) ([]GetAllOrganizationAPIKeyMappingsRow, error)
	GetAllOrganizationAPIKeys(ctx context.Context) ([]GetAllOrganizationAPIKeysRow, error)
	// Get all our organization bucket mappings
	GetAllOrganizationBucketMappings(ctx context.Context) ([]GetAllOrganizationBucketMappingsRow, error)
	// Fetch all our organizations
	GetAllOrganizations(ctx context.Context) ([]GetAllOrganizationsRow, error)
	GetBucketByOrganization(ctx context.Context, organizationID uuid.UUID) (string, error)
	GetBucketConfiguration(ctx context.Context, bucketName string) (BucketConfiguration, error)
	GetBucketConfigurationByName(ctx context.Context, bucketName string) (BucketConfiguration, error)
	GetBucketPrefixMappings(ctx context.Context, bucketName string) ([]GetBucketPrefixMappingsRow, error)
	GetDefaultOrganizationBucket(ctx context.Context, organizationID uuid.UUID) (GetDefaultOrganizationBucketRow, error)
	GetExpiryLastRun(ctx context.Context, arg GetExpiryLastRunParams) (ExpiryRunTracking, error)
	GetLongestPrefixMatch(ctx context.Context, arg GetLongestPrefixMatchParams) (GetLongestPrefixMatchRow, error)
	GetLowestInstanceOrganizationBucket(ctx context.Context, arg GetLowestInstanceOrganizationBucketParams) (GetLowestInstanceOrganizationBucketRow, error)
	GetOrganization(ctx context.Context, id uuid.UUID) (Organization, error)
	GetOrganizationAPIKeyByHash(ctx context.Context, keyHash string) (GetOrganizationAPIKeyByHashRow, error)
	GetOrganizationAPIKeyByID(ctx context.Context, apiKeyID uuid.UUID) (GetOrganizationAPIKeyByIDRow, error)
	GetOrganizationBucketByCollector(ctx context.Context, arg GetOrganizationBucketByCollectorParams) (GetOrganizationBucketByCollectorRow, error)
	GetOrganizationBucketByInstance(ctx context.Context, arg GetOrganizationBucketByInstanceParams) (GetOrganizationBucketByInstanceRow, error)
	GetOrganizationByName(ctx context.Context, name string) (Organization, error)
	GetOrganizationExpiry(ctx context.Context, arg GetOrganizationExpiryParams) (OrganizationSignalExpiry, error)
	GetOrganizationsByBucket(ctx context.Context, bucketName string) ([]uuid.UUID, error)
	GetStorageProfileByCollectorNameUncached(ctx context.Context, organizationID pgtype.UUID) (GetStorageProfileByCollectorNameRow, error)
	GetStorageProfileUncached(ctx context.Context, arg GetStorageProfileParams) (GetStorageProfileRow, error)
	GetStorageProfilesByBucketNameUncached(ctx context.Context, bucketName string) ([]GetStorageProfilesByBucketNameRow, error)
	HasExistingStorageProfiles(ctx context.Context) (bool, error)
	ListBucketConfigurations(ctx context.Context) ([]BucketConfiguration, error)
	ListBucketPrefixMappings(ctx context.Context) ([]ListBucketPrefixMappingsRow, error)
	ListEnabledOrganizations(ctx context.Context) ([]Organization, error)
	ListOrganizationAPIKeysByOrg(ctx context.Context, organizationID uuid.UUID) ([]ListOrganizationAPIKeysByOrgRow, error)
	ListOrganizationBucketsByOrg(ctx context.Context, organizationID uuid.UUID) ([]ListOrganizationBucketsByOrgRow, error)
	ListOrganizations(ctx context.Context) ([]Organization, error)
	UpsertAdminAPIKey(ctx context.Context, arg UpsertAdminAPIKeyParams) (AdminApiKey, error)
	UpsertBucketConfiguration(ctx context.Context, arg UpsertBucketConfigurationParams) (BucketConfiguration, error)
	UpsertExpiryRunTracking(ctx context.Context, arg UpsertExpiryRunTrackingParams) error
	UpsertOrganization(ctx context.Context, arg UpsertOrganizationParams) (Organization, error)
	UpsertOrganizationAPIKey(ctx context.Context, arg UpsertOrganizationAPIKeyParams) (OrganizationApiKey, error)
	UpsertOrganizationAPIKeyMapping(ctx context.Context, arg UpsertOrganizationAPIKeyMappingParams) error
	UpsertOrganizationBucket(ctx context.Context, arg UpsertOrganizationBucketParams) error
	UpsertOrganizationExpiry(ctx context.Context, arg UpsertOrganizationExpiryParams) error
	// Upsert organization
	UpsertOrganizationSync(ctx context.Context, arg UpsertOrganizationSyncParams) error
}

var _ Querier = (*Queries)(nil)
