Browse docs
Gallery
Reference for Gallery in sky_jobs_base.
Gallery
All gallery exports use the media provider selected in sky_jobs_base/config/webhooks.lua. See Media Providers for FiveManage, Qbox CDN, and custom adapter setup.
takeServerImage(sourceId, metadata?, timeoutMs?, uploadConfig?)
- Purpose: Requests a client capture from a player and uploads it through the configured provider.
- Arguments:
sourceId(number) — server ID of the player whose client performs the capture.metadata(table?) — optional capture metadata forwarded to the client.timeoutMs(number?) — optional capture timeout in milliseconds.uploadConfig(table?) — optional trusted server-side media options, includingprovider.
- Returns:
boolean—trueon success,falseon failure.table | string— on success:{ data = { url, id, image_id } }. On failure: error message.
local ok, result = exports["sky_jobs_base"]:takeServerImage(source, {
type = "bodycam",
timestamp = os.time()
})
if ok then
print("Uploaded:", result.data.url)
end
getMediaUploadUrl()
- Purpose: Requests a temporary browser-safe upload URL from the selected provider.
- Returns:
{ success = true, data = { presignedUrl, expiresIn?, provider, timeoutMs } }or{ success = false, error }.
local result = exports["sky_jobs_base"]:getMediaUploadUrl()
if result.success then
print("Provider:", result.data.provider)
end
uploadMediaDataUrl(dataUrl, options?)
- Purpose: Uploads a base64 data URL from a trusted server resource.
- Arguments:
dataUrl(string) — complete base64 data URL.options(table?) — optional provider override and provider-specific fields such asfilenameorpath.
- Returns:
{ success = true, data = { url, id, image_id, provider } }or{ success = false, error }.
local result = exports["sky_jobs_base"]:uploadMediaDataUrl(dataUrl, {
filename = "evidence.png",
path = "cases/42"
})
deleteMediaFile(fileId, options?)
- Purpose: Deletes a remote media object using its provider ID or storage key.
- Returns:
{ success = true }or{ success = false, error }.
local result = exports["sky_jobs_base"]:deleteMediaFile("provider-file-id")
registerMediaProvider(name, adapter)
- Purpose: Registers or replaces a custom server-side media provider adapter.
- Returns:
{ success = true }or{ success = false, error }.
The adapter must implement requestUploadUrl, uploadDataUrl, and deleteFile. See the complete custom provider contract.