Creates a new lure repository instance.
The validator instance.
The config instance.
The logger instance.
The connector instance.
Creates a new lure.
The lure will be created in a disabled state (isEnabled = false).
Use enable to activate it for traffic routing.
The ID of the campaign to create the lure in.
The new lure ID to create.
The URL path for the lure.
The ID of the redirector that handles this lure.
The campaign lock secret obtained from CampaignRepository.lock.
DatabaseError If the campaign does not exist.
DatabaseError If the campaign is not locked.
DatabaseError If the campaign lock secret does not match.
DatabaseError If a lure with the same ID already exists.
DatabaseError If the lure URL path is already used by another campaign.
DatabaseError If the redirector does not exist.
DatabaseError If the data validation fails.
Deletes the lure by its ID.
A lure must be disabled before it can be deleted.
The ID of the campaign containing the lure.
The lure ID to delete.
The ID of the redirector that handles this lure.
The campaign lock secret obtained from CampaignRepository.lock.
DatabaseError If the campaign does not exist.
DatabaseError If the campaign is not locked.
DatabaseError If the campaign lock secret does not match.
DatabaseError If the lure does not exist.
DatabaseError If the redirector does not exist.
DatabaseError If the lure is still enabled.
DatabaseError If the lure redirector ID does not match the provided one.
DatabaseError If the data validation fails.
Disables the lure, stopping request routing.
When disabled, requests to the URL path will not be routed.
The ID of the campaign containing the lure.
The lure ID to disable.
The campaign lock secret obtained from CampaignRepository.lock.
DatabaseError If the campaign does not exist.
DatabaseError If the campaign is not locked.
DatabaseError If the campaign lock secret does not match.
DatabaseError If the lure does not exist.
DatabaseError If the data validation fails.
Enables the lure, making it available for request routing.
When enabled, the URL path becomes active and can be used to serve the associated redirector content.
The ID of the campaign containing the lure.
The lure ID to enable.
The campaign lock secret obtained from CampaignRepository.lock.
DatabaseError If the campaign does not exist.
DatabaseError If the campaign is not locked.
DatabaseError If the campaign lock secret does not match.
DatabaseError If the lure does not exist.
DatabaseError If the data validation fails.
Finds a lure by its URL path.
This is the primary routing method for HTTP requests. When a request arrives at a mirror domain, the request path is extracted and used to instantly find the corresponding lure via a direct hash lookup.
The ID of the campaign to search in.
The URL path to look up.
The lure model, or null if no lure matches the URL path.
DatabaseError If the data validation fails.
Lists all lures for the campaign.
Lures are ordered by creation time (oldest first).
The ID of the campaign to list lures for.
The array of lure models, or null if the campaign does not exist.
DatabaseError If the data validation fails.
Reads the lure by its ID.
The ID of the campaign containing the lure.
The lure ID to read.
The lure model, or null if the lure is not found.
DatabaseError If the data validation fails.
StaticregisterRegisters the lure repository as a singleton in the DI container.
The DI container to register in.
Redis-based lure repository implementation.
Depends:
Example