Documentation ¶
Index ¶
- Constants
- Variables
- type GetStatusResponse
- type GetTranscriptResponse
- type PostResponse
- type Request
- func (req *Request) AddTimestamps(startKey, startTimestamp, endKey string) (time.Duration, error)
- func (req *Request) ReadRequest(w http.ResponseWriter, r *http.Request, p httprouter.Params, ...) error
- func (req *Request) RequestDuration() (time.Duration, error)
- func (req *Request) ToMap() (map[string]interface{}, error)
- type RequestRepository
- type Tags
Constants ¶
View Source
const Completed string = "COMPLETED"
View Source
const Error string = "ERROR"
View Source
const Pending string = "PENDING"
View Source
const RequestVersion = 2 // distinguish older from newer requests
Variables ¶
View Source
var CompletedUUID = uuid.MustParse(CompletedUUIDStr)
View Source
var CompletedUUIDStr = "6697be3b-bdfa-4438-9e2a-ea1511dd0e40"
View Source
var ErrInvalidTime = errors.New("Invalid time value cannot be parsed")
ErrInvalidTime - time provided does not parse
View Source
var ErrTimestampsKeyExists = errors.New("Timestamps key exists")
ErrTimestampsKeyExists - key provided already exists
View Source
var ErrorUUID = uuid.MustParse(ErrorUUIDStr)
View Source
var ErrorUUIDStr = "aa4073c3-5ae8-4344-9c29-41e15414e609"
View Source
var PendingUUID = uuid.MustParse(PendingUUIDStr)
View Source
var PendingUUIDStr = "da4ae569-484d-4f59-bc52-c876058252d8"
special UUIDs used for testing purposes
Functions ¶
This section is empty.
Types ¶
type GetStatusResponse ¶
type GetStatusResponse struct { RequestID uuid.UUID `json:"request_id"` CustomerID int `json:"customer_id"` MediaFileURI string `json:"media_uri"` AcceptedAt string `json:"accepted_at"` CompletedAt string `json:"completed_at,omitempty"` OriginalRequestID uuid.UUID `json:"original_request_id"` OriginalAcceptedAt string `json:"original_accepted_at,omitempty"` OriginalCompletedAt string `json:"original_completed_at,omitempty"` ETA string `json:"eta,omitempty"` // time.Time.String() Endpoint string `json:"endpoint,omitempty"` // uri OriginalStatus int `json:"original_status,omitempty"` // http.Status* }
GetStatusResponse holds selected fields of Result struct to include in HTTP response to GET /status/:uuid request
type GetTranscriptResponse ¶
type GetTranscriptResponse struct { RequestID uuid.UUID `json:"request_id"` CustomerID int `json:"customer_id" validate:"required,gte=1,lt=10000000"` MediaFileURI string `json:"media_uri"` AcceptedAt string `json:"accepted_at"` CompletedAt string `json:"completed_at"` OriginalRequestID uuid.UUID `json:"original_request_id"` OriginalAcceptedAt string `json:"original_accepted_at,omitempty"` OriginalCompletedAt string `json:"original_completed_at,omitempty"` Transcript string `json:"transcript"` Tags map[string]Tags `json:"tags"` }
GetTranscriptResponse holds selected fields of Result struct to include in HTTP response to GET /transcript/:uuid request
type PostResponse ¶
type PostResponse struct { RequestID uuid.UUID `json:"request_id"` CustomerID int `json:"customer_id"` MediaFileURI string `json:"media_uri"` AcceptedAt string `json:"accepted_at"` Endpoint string `json:"endpoint,omitempty"` // uri }
PostResponse holds seelcted fields of Result struct to include in HTTP response to initial POST request
type Request ¶
type Request struct { Version int `json:"version" firestore:"request_version"` RequestID uuid.UUID `json:"request_id" firestore:"-"` // redundant when Firestore docID = RequestID CustomerID int `json:"customer_id" firestore:"customer_id" validate:"required,gte=1,lt=10000000"` MediaFileURI string `json:"media_uri" firestore:"media_uri" validate:"required,uri"` Status string `json:"status" firestore:"status"` // one of "PENDING", "ERROR", "COMPLETED" OriginalStatus int `json:"original_status,omitempty" firestore:"original_status,omitempty"` // as reported throughout the pipeline AcceptedAt string `json:"accepted_at" firestore:"accepted_at"` CreatedAt string `json:"created_at,omitempty" firestore:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty" firestore:"updated_at,omitempty"` CompletedAt string `json:"completed_at,omitempty" firestore:"completed_at,omitempty"` WorkingTranscript string `json:"working_transcript,omitempty" firestore:"working_transcript,omitempty"` FinalTranscript string `json:"final_transcript,omitempty" firestore:"final_transcript,omitempty"` MatchedTags map[string]Tags `json:"tags,omitempty" firestore:"tags,omitempty"` Timestamps map[string]string `json:"timestamps" firestore:"timestamps"` }
Request defines properties of an incoming transcription request to be added
func (*Request) AddTimestamps ¶
func (*Request) ReadRequest ¶
func (req *Request) ReadRequest(w http.ResponseWriter, r *http.Request, p httprouter.Params, validate *validator.Validate) error
type RequestRepository ¶
Click to show internal directories.
Click to hide internal directories.