# Functions

New creates a new database connection.

# Variables

ErrInvalidSkylink is the error returned when the passed skylink is invalid.
ErrNoDocumentsFound is returned when a database operation completes successfully but it doesn't find or affect any documents.
ErrSkylinkExists is returned when we try to add a skylink to the database and it already exists there.
ScanTimeout defines how long we want to wait for a scan to finish before giving up on it and returning the skylink back into the "new" bucket, so the scan can be retried.
SkylinkStatusComplete is the status of the skylink after it's scanned.
SkylinkStatusNew is the status of the skylink when it's created.
SkylinkStatusScanning is the status of the skylink while it's being scanned.
SkylinkStatusUnreported is the status of the skylink after it has been found to be malicious but before it has been successfully reported to the blocker service.
True is a helper value, so we can pass a *bool to MongoDB's methods.

# Structs

DB holds a connection to the database, as well as helpful shortcuts to collections and utilities.
Skylink represents a skylink in the queue and holds its scanning status.