s3 support

This commit is contained in:
onysd 2026-08-04 23:09:11 +03:00
parent fa5cfaf14d
commit 03f10b66ee
53 changed files with 2796 additions and 102 deletions

View file

@ -107,6 +107,11 @@ func locationInvalidErr() error { return tgerr.New(400, "LOCATION_INVALID")
func fileIDInvalidErr() error { return tgerr.New(400, "FILE_ID_INVALID") }
func documentInvalidErr() error { return tgerr.New(400, "DOCUMENT_INVALID") }
// storageFullErr surfaces the low-disk-space upload guard. Deliberately not
// a flood-wait: a full disk won't resolve itself in 60 seconds, and telling
// the client to retry shortly would be misleading.
func storageFullErr() error { return tgerr.New(400, "STORAGE_FULL") }
func mediaEmptyErr() error { return tgerr.New(400, "MEDIA_EMPTY") }
func frozenMethodInvalidErr() error { return tgerr.New(420, "FROZEN_METHOD_INVALID") }

View file

@ -684,6 +684,8 @@ func photoUploadErr(err error) error {
return filePartsInvalidErr()
case errors.Is(err, domain.ErrPhotoInvalid):
return photoInvalidErr()
case errors.Is(err, domain.ErrStorageFull):
return storageFullErr()
default:
return internalErr()
}

View file

@ -1144,6 +1144,8 @@ func mediaUploadErr(err error) error {
return photoInvalidErr()
case errors.Is(err, domain.ErrDocumentInvalid):
return mediaInvalidErr()
case errors.Is(err, domain.ErrStorageFull):
return storageFullErr()
default:
return internalErr()
}

View file

@ -327,6 +327,8 @@ func fileSaveErr(err error) error {
return filePartTooBigErr()
case errors.Is(err, domain.ErrUploadQuotaExceeded):
return floodWaitErr(60)
case errors.Is(err, domain.ErrStorageFull):
return storageFullErr()
default:
return internalErr()
}