BusinessApi

<back to all web services

PlaceUploadImageRequest

Business
Requires Authentication
Required role:Business
The following routes are available for this service:
POST/place/upload_image
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum

# module BusinessApi


class DeploymentSlot(str, Enum):
    PRODUCTION = 'Production'
    QA = 'Qa'
    UNSTABLE = 'Unstable'
    TEST = 'Test'
    LOCAL = 'Local'
    DOCKER = 'Docker'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CloudBlob:
    public_url: Optional[str] = None
    key: Optional[str] = None
    environment: Optional[DeploymentSlot] = None
    bucket: Optional[str] = None
    identifying_suffix: Optional[str] = None
    mime_type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ImageUrls:
    preview: Optional[str] = None
    small: Optional[str] = None
    medium: Optional[str] = None
    large: Optional[str] = None


Python PlaceUploadImageRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /place/upload_image HTTP/1.1 
Host: business-api.brovs.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	placeId: 0,
	base64EncodedImageFront: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	image: 
	{
		publicUrl: String,
		key: String,
		environment: Production,
		bucket: String,
		identifyingSuffix: String,
		mimeType: String
	},
	imageUrls: 
	{
		preview: String,
		small: String,
		medium: String,
		large: String
	}
}