mirror of https://github.com/vernonkeenan/lib
216 lines
5.0 KiB
YAML
216 lines
5.0 KiB
YAML
swagger: "2.0"
|
|
info:
|
|
version: 0.3.0
|
|
title: "stash"
|
|
description: "PDF Storage Microservice"
|
|
termsOfService: "https://salesforcedevops.net/terms/"
|
|
contact:
|
|
email: "vern@vernonkeenan.com"
|
|
license:
|
|
name: "Proprietary - Copyright (c) 2018-2023 by Vernon Keenan"
|
|
securityDefinitions:
|
|
ApiKeyAuth:
|
|
type: "apiKey"
|
|
in: "header"
|
|
name: "X-API-Key"
|
|
security:
|
|
- ApiKeyAuth: []
|
|
schemes:
|
|
- "http"
|
|
basePath: "/v1"
|
|
host: "stash.vernonkeenan.com:8080"
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
X-API-Key:
|
|
name: X-API-Key
|
|
in: "header"
|
|
required: true
|
|
type: string
|
|
PDFRequest:
|
|
description: An array of new PDF records
|
|
in: body
|
|
name: PDFRequest
|
|
required: true
|
|
schema:
|
|
$ref: "#/definitions/PDFRequest"
|
|
pdfIdQueryRequired:
|
|
description: PDF record ID
|
|
in: query
|
|
name: pdfId
|
|
required: true
|
|
type: string
|
|
responses:
|
|
AccessForbidden:
|
|
description: "Access forbidden, account lacks access"
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
NotFound:
|
|
description: Resource was not found
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
PdfResponse:
|
|
description: Response with an array of pdfs
|
|
schema:
|
|
$ref: "#/definitions/DocumentResponse"
|
|
ServerError:
|
|
description: Server Internal Error
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
Unauthorized:
|
|
description: "Access Unauthorized, invalid API-KEY was used"
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
UnprocessableEntity:
|
|
description: "Unprocessable Entity, likely a bad parameter"
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
DocumentResponse:
|
|
description: Rendered documents response
|
|
schema:
|
|
$ref: "#/definitions/DocumentResponse"
|
|
paths:
|
|
/pdfs:
|
|
post:
|
|
description: Store new PDFs
|
|
operationId: postPdfs
|
|
parameters:
|
|
- $ref: "#/parameters/PDFRequest"
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/DocumentResponse"
|
|
"401":
|
|
$ref: "#/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/responses/AccessForbidden"
|
|
"404":
|
|
$ref: "#/responses/NotFound"
|
|
"422":
|
|
$ref: "#/responses/UnprocessableEntity"
|
|
"500":
|
|
$ref: "#/responses/ServerError"
|
|
summary: Create new PDFs
|
|
tags:
|
|
- StashPdf
|
|
definitions:
|
|
Document:
|
|
properties:
|
|
Filename:
|
|
type: string
|
|
ID:
|
|
type: string
|
|
SagaType:
|
|
type: string
|
|
ParentID:
|
|
type: string
|
|
Title:
|
|
type: string
|
|
URI:
|
|
type: string
|
|
type: object
|
|
DocumentResponse:
|
|
description: An array of rendered documents
|
|
properties:
|
|
Data:
|
|
items:
|
|
$ref: "#/definitions/Document"
|
|
type: array
|
|
Meta:
|
|
$ref: "#/definitions/ResponseMeta"
|
|
type: object
|
|
Error:
|
|
properties:
|
|
Code:
|
|
format: int64
|
|
type: number
|
|
Fields:
|
|
type: string
|
|
Message:
|
|
type: string
|
|
type: object
|
|
NewPDF:
|
|
properties:
|
|
Description:
|
|
description: Description
|
|
type: string
|
|
Filename:
|
|
description: Filename only
|
|
type: string
|
|
HTML:
|
|
description: The HTML data in text format
|
|
type: string
|
|
LastAccessedByID:
|
|
description: Last Accessed By
|
|
type: string
|
|
ObjectType:
|
|
description: This document's financial object origination
|
|
type: string
|
|
OwnerID:
|
|
description: User who created the PDF
|
|
type: string
|
|
ParentID:
|
|
description: ID of the record that owns this PDF
|
|
type: string
|
|
Ref:
|
|
description: External reference if any
|
|
type: string
|
|
Title:
|
|
description: Document descriptive title
|
|
type: string
|
|
type: object
|
|
PDFRequest:
|
|
properties:
|
|
Data:
|
|
items:
|
|
$ref: "#/definitions/NewPDF"
|
|
type: array
|
|
Meta:
|
|
$ref: "#/definitions/RequestMeta"
|
|
type: object
|
|
RequestMeta:
|
|
properties:
|
|
ExternalAccount:
|
|
description: Account Number of the Reseller or OEM
|
|
type: string
|
|
required:
|
|
- ExternalAccount
|
|
type: object
|
|
ResponseMeta:
|
|
properties:
|
|
Contact:
|
|
description: Microservice Contact Info
|
|
type: string
|
|
Copyright:
|
|
description: Copyright Info
|
|
type: string
|
|
License:
|
|
description: License Information and Restrictions
|
|
type: string
|
|
OperationID:
|
|
description: Operation ID
|
|
type: string
|
|
RequestIP:
|
|
description: Request IP Address
|
|
type: string
|
|
RequestType:
|
|
description: Request Type
|
|
type: string
|
|
RequestURL:
|
|
description: Request URL
|
|
type: string
|
|
ServerInfo:
|
|
description: Data Server Info
|
|
type: string
|
|
ServerResponseTime:
|
|
description: Data Server Response Time (ms)
|
|
type: string
|
|
ServerTimestamp:
|
|
description: Backend Server Timestamp
|
|
type: string
|
|
ExternalAccount:
|
|
description: Account Number used for recording transactions
|
|
type: string
|
|
type: object
|