102 lines
1.5 KiB
Go
102 lines
1.5 KiB
Go
package apiresponse
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"git.agecem.com/agecem/agecem-org/models"
|
|
)
|
|
|
|
type Responder interface {
|
|
Respond() Responder
|
|
}
|
|
|
|
type Response struct {
|
|
StatusCode int `json:"status_code"`
|
|
Message string
|
|
Error string
|
|
}
|
|
|
|
func (r Response) Respond() Responder {
|
|
return r
|
|
}
|
|
|
|
type SimpleResponse struct {
|
|
Message string
|
|
}
|
|
|
|
func (r SimpleResponse) Respond() Responder {
|
|
return r
|
|
}
|
|
|
|
func NotFoundResponse() (int, SimpleResponse) {
|
|
return http.StatusNotFound, SimpleResponse{
|
|
Message: "Not Found",
|
|
}
|
|
}
|
|
|
|
func NotImplementedResponse() (int, SimpleResponse) {
|
|
return http.StatusNotImplemented, SimpleResponse{
|
|
Message: "Not Implemented",
|
|
}
|
|
}
|
|
|
|
func InternalServerErrorResponse() (int, SimpleResponse) {
|
|
return http.StatusInternalServerError, SimpleResponse{
|
|
Message: "Internal Server Error",
|
|
}
|
|
}
|
|
|
|
type HandleAdminDocumentsUploadResponse struct {
|
|
Response
|
|
Data struct {
|
|
Buckets []models.Bucket
|
|
}
|
|
}
|
|
|
|
type HandleDocumentationResponse struct {
|
|
Response
|
|
Data struct {
|
|
Buckets []models.Bucket
|
|
}
|
|
}
|
|
|
|
type UploadDocumentResponse struct {
|
|
Response
|
|
Data UploadDocumentResponseData
|
|
}
|
|
|
|
type UploadDocumentResponseData struct {
|
|
Bucket string
|
|
Object string
|
|
Size float64
|
|
}
|
|
|
|
type V1SeedResponse struct {
|
|
Response
|
|
Data struct {
|
|
Buckets []string
|
|
}
|
|
}
|
|
|
|
type V1BucketListResponse struct {
|
|
Response
|
|
Data struct {
|
|
Buckets map[string]string
|
|
}
|
|
}
|
|
|
|
type V1BucketReadResponse struct {
|
|
Response
|
|
Data struct {
|
|
Keys []string
|
|
}
|
|
}
|
|
|
|
type V1DocumentCreateResponse struct {
|
|
Response
|
|
Data struct {
|
|
Bucket string
|
|
Key string
|
|
Size int64
|
|
}
|
|
}
|