Publish Docker image / build-and-push (push) Canceled after 0s
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
Multi-user image hosting with RBAC, upload preferences, and admin settings.
17 lines
598 B
TypeScript
17 lines
598 B
TypeScript
import { getImageUserFilter, requireApiOrAdminAuth } from '../../utils/access'
|
|
import { isValidFolderName } from '../../utils/image-key'
|
|
import { countImages } from '../../utils/storage'
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
await requireApiOrAdminAuth(event)
|
|
const userFilter = await getImageUserFilter(event)
|
|
|
|
const query = getQuery(event)
|
|
const raw = typeof query.folder === 'string' ? query.folder.trim() : ''
|
|
const folder = raw && raw !== 'all' && isValidFolderName(raw) ? raw : undefined
|
|
|
|
const total = await countImages(folder, userFilter)
|
|
|
|
return { total }
|
|
})
|