rest

package
v0.0.0-...-e13654e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2022 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

Package rest provides primitives to interact with the openapi HTTP API.

Code generated by github.com/deepmap/oapi-codegen version v1.11.0 DO NOT EDIT.

Index

Constants

View Source
const (
	BearerAuthScopes = "bearerAuth.Scopes"
)

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

func RegisterHandlers

func RegisterHandlers(router EchoRouter, si ServerInterface)

RegisterHandlers adds each server route to the EchoRouter.

func RegisterHandlersWithBaseURL

func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string)

Registers handlers, and prepends BaseURL to the paths, so that the paths can be served under a prefix.

Types

type CreatePresentationRequestResponse

type CreatePresentationRequestResponse struct {
	PresentationRequestId *string `json:"presentationRequestId,omitempty"`
}

CreatePresentationRequestResponse defines model for createPresentationRequestResponse.

type Credential

type Credential struct {
	Context           *[]string `json:"@context,omitempty"`
	CredentialSubject *struct {
		Id           *string       `json:"id,omitempty"`
		Name         *string       `json:"name,omitempty"`
		Prescription *Prescription `json:"prescription,omitempty"`
	} `json:"credentialSubject,omitempty"`
	ExpirationDate *string          `json:"expirationDate,omitempty"`
	Id             *string          `json:"id,omitempty"`
	IssuanceDate   *string          `json:"issuanceDate,omitempty"`
	Issuer         *string          `json:"issuer,omitempty"`
	Proof          *CredentialProof `json:"proof,omitempty"`
	Type           *string          `json:"type,omitempty"`
}

Credential defines model for credential.

type CredentialOfferResponse

type CredentialOfferResponse struct {
	CredentialOfferId *string `json:"credentialOfferId,omitempty"`
}

CredentialOfferResponse defines model for credentialOfferResponse.

type CredentialProof

type CredentialProof struct {
	Created            *string `json:"created,omitempty"`
	Jws                *string `json:"jws,omitempty"`
	ProofPurpose       *string `json:"proofPurpose,omitempty"`
	Type               *string `json:"type,omitempty"`
	VerificationMethod *string `json:"verificationMethod,omitempty"`
}

CredentialProof defines model for credentialProof.

type CredentialResponse

type CredentialResponse struct {
	Credential *Credential `json:"credential,omitempty"`
}

CredentialResponse defines model for credentialResponse.

type Drug

type Drug struct {
	DrugName           *string      `json:"drugName,omitempty"`
	DrugNumber         *float32     `json:"drugNumber,omitempty"`
	DrugType           *string      `json:"drugType,omitempty"`
	Info               *interface{} `json:"info,omitempty"`
	RefillAvailability *bool        `json:"refillAvailability,omitempty"`
}

Drug defines model for drug.

type EchoRouter

type EchoRouter interface {
	CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
}

This is a simple interface which specifies echo.Route addition functions which are present on both echo.Echo and echo.Group, since we want to allow using either of them for path registration

type Error

type Error struct {
	Code    int32  `json:"code"`
	Message string `json:"message"`
}

Error defines model for error.

type GetAllDidsResponse

type GetAllDidsResponse struct {
	Dids *[]string `json:"dids,omitempty"`
}

GetAllDidsResponse defines model for getAllDidsResponse.

type GetAllPrescriptionCredentialResponse

type GetAllPrescriptionCredentialResponse struct {
	Credentials *[]Credential `json:"credentials,omitempty"`
}

GetAllPrescriptionCredentialResponse defines model for getAllPrescriptionCredentialResponse.

type GetCredentialOfferResponse

type GetCredentialOfferResponse struct {
	Prescription *Prescription `json:"prescription,omitempty"`
}

GetCredentialOfferResponse defines model for getCredentialOfferResponse.

type GetPresentationRequestResponse

type GetPresentationRequestResponse struct {
	Challenge             *string `json:"challenge,omitempty"`
	PresentationRequestId *string `json:"presentationRequestId,omitempty"`
}

GetPresentationRequestResponse defines model for getPresentationRequestResponse.

type GetVerifiablePresentationResponse

type GetVerifiablePresentationResponse struct {
	Presentation        *Presentation `json:"presentation,omitempty"`
	VerificationComment *string       `json:"verificationComment,omitempty"`
	VerificationStatus  *bool         `json:"verificationStatus,omitempty"`
}

GetVerifiablePresentationResponse defines model for getVerifiablePresentationResponse.

type OintmentDrugInfo

type OintmentDrugInfo struct {
	AmountOfMedicine     *float32 `json:"amountOfMedicine,omitempty"`
	ApplicationFrequency *string  `json:"applicationFrequency,omitempty"`
	Usage                *string  `json:"usage,omitempty"`
	UseArea              *string  `json:"useArea,omitempty"`
}

OintmentDrugInfo defines model for ointmentDrugInfo.

type PatientAuthCredential

type PatientAuthCredential struct {
	Password *string `json:"password,omitempty"`
	Username *string `json:"username,omitempty"`
}

PatientAuthCredential defines model for patientAuthCredential.

type PostV1DoctorsDoctorIdPrescriptionsCredentialOffersJSONBody

type PostV1DoctorsDoctorIdPrescriptionsCredentialOffersJSONBody = Prescription

PostV1DoctorsDoctorIdPrescriptionsCredentialOffersJSONBody defines parameters for PostV1DoctorsDoctorIdPrescriptionsCredentialOffers.

type PostV1DoctorsDoctorIdPrescriptionsCredentialOffersJSONRequestBody

type PostV1DoctorsDoctorIdPrescriptionsCredentialOffersJSONRequestBody = PostV1DoctorsDoctorIdPrescriptionsCredentialOffersJSONBody

PostV1DoctorsDoctorIdPrescriptionsCredentialOffersJSONRequestBody defines body for PostV1DoctorsDoctorIdPrescriptionsCredentialOffers for application/json ContentType.

type PostV1PatientsLoginJSONBody

type PostV1PatientsLoginJSONBody = PatientAuthCredential

PostV1PatientsLoginJSONBody defines parameters for PostV1PatientsLogin.

type PostV1PatientsLoginJSONRequestBody

type PostV1PatientsLoginJSONRequestBody = PostV1PatientsLoginJSONBody

PostV1PatientsLoginJSONRequestBody defines body for PostV1PatientsLogin for application/json ContentType.

type PostV1PatientsPatientIdPrescriptionsCredentialsJSONBody

type PostV1PatientsPatientIdPrescriptionsCredentialsJSONBody struct {
	CredentialOfferId *string `json:"credentialOfferId,omitempty"`
	Did               *string `json:"did,omitempty"`
	KmsPassphrase     *string `json:"kmsPassphrase,omitempty"`
}

PostV1PatientsPatientIdPrescriptionsCredentialsJSONBody defines parameters for PostV1PatientsPatientIdPrescriptionsCredentials.

type PostV1PatientsPatientIdPrescriptionsCredentialsJSONRequestBody

type PostV1PatientsPatientIdPrescriptionsCredentialsJSONRequestBody PostV1PatientsPatientIdPrescriptionsCredentialsJSONBody

PostV1PatientsPatientIdPrescriptionsCredentialsJSONRequestBody defines body for PostV1PatientsPatientIdPrescriptionsCredentials for application/json ContentType.

type PostV1PatientsPatientIdPrescriptionsPresentationsJSONBody

type PostV1PatientsPatientIdPrescriptionsPresentationsJSONBody struct {
	CredentialId          *string `json:"credentialId,omitempty"`
	KmsPassphrase         *string `json:"kmsPassphrase,omitempty"`
	PresentationRequestId *string `json:"presentationRequestId,omitempty"`
}

PostV1PatientsPatientIdPrescriptionsPresentationsJSONBody defines parameters for PostV1PatientsPatientIdPrescriptionsPresentations.

type PostV1PatientsPatientIdPrescriptionsPresentationsJSONRequestBody

type PostV1PatientsPatientIdPrescriptionsPresentationsJSONRequestBody PostV1PatientsPatientIdPrescriptionsPresentationsJSONBody

PostV1PatientsPatientIdPrescriptionsPresentationsJSONRequestBody defines body for PostV1PatientsPatientIdPrescriptionsPresentations for application/json ContentType.

type PostV1PatientsRegisterJSONBody

type PostV1PatientsRegisterJSONBody = PatientAuthCredential

PostV1PatientsRegisterJSONBody defines parameters for PostV1PatientsRegister.

type PostV1PatientsRegisterJSONRequestBody

type PostV1PatientsRegisterJSONRequestBody = PostV1PatientsRegisterJSONBody

PostV1PatientsRegisterJSONRequestBody defines body for PostV1PatientsRegister for application/json ContentType.

type PostV1VcVerifyCredentialJSONBody

type PostV1VcVerifyCredentialJSONBody = Credential

PostV1VcVerifyCredentialJSONBody defines parameters for PostV1VcVerifyCredential.

type PostV1VcVerifyCredentialJSONRequestBody

type PostV1VcVerifyCredentialJSONRequestBody = PostV1VcVerifyCredentialJSONBody

PostV1VcVerifyCredentialJSONRequestBody defines body for PostV1VcVerifyCredential for application/json ContentType.

type PostV1VcVerifyPresentationJSONBody

type PostV1VcVerifyPresentationJSONBody = Presentation

PostV1VcVerifyPresentationJSONBody defines parameters for PostV1VcVerifyPresentation.

type PostV1VcVerifyPresentationJSONRequestBody

type PostV1VcVerifyPresentationJSONRequestBody = PostV1VcVerifyPresentationJSONBody

PostV1VcVerifyPresentationJSONRequestBody defines body for PostV1VcVerifyPresentation for application/json ContentType.

type Prescription

type Prescription struct {
	Drugs        *[]Drug `json:"drugs,omitempty"`
	HospitalInfo *struct {
		DoctorName               *string  `json:"doctorName,omitempty"`
		DoctorSignatureStamp     *string  `json:"doctorSignatureStamp,omitempty"`
		HospitalName             *string  `json:"hospitalName,omitempty"`
		Location                 *string  `json:"location,omitempty"`
		MedicalInstitutionNumber *float32 `json:"medicalInstitutionNumber,omitempty"`
		Phone                    *string  `json:"phone,omitempty"`
		PrefectureNumber         *float32 `json:"prefectureNumber,omitempty"`
		ScoreVoteNumber          *float32 `json:"scoreVoteNumber,omitempty"`
	} `json:"hospitalInfo,omitempty"`
	IssuanceInfo *struct {
		ExpirationDate *string `json:"expirationDate,omitempty"`
		IssuanceDate   *string `json:"issuanceDate,omitempty"`
	} `json:"issuanceInfo,omitempty"`
	PatientInfo *struct {
		Birthday *string `json:"birthday,omitempty"`
		Name     *string `json:"name,omitempty"`
		Sex      *string `json:"sex,omitempty"`
	} `json:"patientInfo,omitempty"`
}

Prescription defines model for prescription.

type Presentation

type Presentation struct {
	Context              *[]string            `json:"@context,omitempty"`
	Proof                *[]PresentationProof `json:"proof,omitempty"`
	Type                 *string              `json:"type,omitempty"`
	VerifiableCredential *[]Credential        `json:"verifiableCredential,omitempty"`
}

Presentation defines model for presentation.

type PresentationProof

type PresentationProof struct {
	Created            *string `json:"created,omitempty"`
	Jws                *string `json:"jws,omitempty"`
	ProofPurpose       *string `json:"proofPurpose,omitempty"`
	Type               *string `json:"type,omitempty"`
	VerificationMethod *string `json:"verificationMethod,omitempty"`
}

PresentationProof defines model for presentationProof.

type PresentationResponse

type PresentationResponse struct {
	Presentation *Presentation `json:"presentation,omitempty"`
}

PresentationResponse defines model for presentationResponse.

type ServerInterface

type ServerInterface interface {
	// Creates credential offer for prescription (generates a link for QR code)
	// (POST /v1/doctors/{doctorId}/prescriptions/credential-offers/)
	PostV1DoctorsDoctorIdPrescriptionsCredentialOffers(ctx echo.Context, doctorId string) error
	// Gets credential offer by id
	// (GET /v1/doctors/{doctorId}/prescriptions/credential-offers/{credentialOfferId})
	GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferId(ctx echo.Context, doctorId string, credentialOfferId string) error
	// Gets credential issued for given credential offer
	// (GET /v1/doctors/{doctorId}/prescriptions/credential-offers/{credentialOfferId}/credential)
	GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferIdCredential(ctx echo.Context, doctorId string, credentialOfferId string) error
	// Login patient
	// (POST /v1/patients/login)
	PostV1PatientsLogin(ctx echo.Context) error
	// Register new patient
	// (POST /v1/patients/register)
	PostV1PatientsRegister(ctx echo.Context) error
	// Gets all dids belonging to given patient
	// (GET /v1/patients/{patientId}/dids)
	GetV1PatientsPatientIdDids(ctx echo.Context, patientId string) error
	// Gets all prescription credentials issued for given patient
	// (GET /v1/patients/{patientId}/prescriptions/credentials)
	GetV1PatientsPatientIdPrescriptionsCredentials(ctx echo.Context, patientId string) error
	// Creates credential in response to credential offer from doctor
	// (POST /v1/patients/{patientId}/prescriptions/credentials/)
	PostV1PatientsPatientIdPrescriptionsCredentials(ctx echo.Context, patientId string) error
	// Gets prescription credential by id issued for given patient
	// (GET /v1/patients/{patientId}/prescriptions/credentials/{credentialId})
	GetV1PatientsPatientIdPrescriptionsCredentialsCredentialId(ctx echo.Context, patientId string, credentialId string) error
	// Creates verifiable presentation in response to prescription presentation request from pharmacy
	// (POST /v1/patients/{patientId}/prescriptions/presentations)
	PostV1PatientsPatientIdPrescriptionsPresentations(ctx echo.Context, patientId string) error
	// Creates presentation request for prescription (generates link for a QR code)
	// (POST /v1/pharmacies/{pharmacyId}/prescriptions/presentation-requests)
	PostV1PharmaciesPharmacyIdPrescriptionsPresentationRequests(ctx echo.Context, pharmacyId string) error
	// Gets presentation request for prescription by request id
	// (GET /v1/pharmacies/{pharmacyId}/prescriptions/presentation-requests/{presentationRequestId})
	GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestId(ctx echo.Context, pharmacyId string, presentationRequestId string) error
	// Gets verifiable presentation for given presentation request
	// (GET /v1/pharmacies/{pharmacyId}/prescriptions/presentation-requests/{presentationRequestId}/presentation)
	GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestIdPresentation(ctx echo.Context, pharmacyId string, presentationRequestId string) error
	// Verify Credential
	// (POST /v1/vc/verify-credential)
	PostV1VcVerifyCredential(ctx echo.Context) error
	// Verify Credential
	// (POST /v1/vc/verify-presentation)
	PostV1VcVerifyPresentation(ctx echo.Context) error
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler ServerInterface
}

ServerInterfaceWrapper converts echo contexts to parameters.

func (*ServerInterfaceWrapper) GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferId

func (w *ServerInterfaceWrapper) GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferId(ctx echo.Context) error

GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferId converts echo context to params.

func (*ServerInterfaceWrapper) GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferIdCredential

func (w *ServerInterfaceWrapper) GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferIdCredential(ctx echo.Context) error

GetV1DoctorsDoctorIdPrescriptionsCredentialOffersCredentialOfferIdCredential converts echo context to params.

func (*ServerInterfaceWrapper) GetV1PatientsPatientIdDids

func (w *ServerInterfaceWrapper) GetV1PatientsPatientIdDids(ctx echo.Context) error

GetV1PatientsPatientIdDids converts echo context to params.

func (*ServerInterfaceWrapper) GetV1PatientsPatientIdPrescriptionsCredentials

func (w *ServerInterfaceWrapper) GetV1PatientsPatientIdPrescriptionsCredentials(ctx echo.Context) error

GetV1PatientsPatientIdPrescriptionsCredentials converts echo context to params.

func (*ServerInterfaceWrapper) GetV1PatientsPatientIdPrescriptionsCredentialsCredentialId

func (w *ServerInterfaceWrapper) GetV1PatientsPatientIdPrescriptionsCredentialsCredentialId(ctx echo.Context) error

GetV1PatientsPatientIdPrescriptionsCredentialsCredentialId converts echo context to params.

func (*ServerInterfaceWrapper) GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestId

func (w *ServerInterfaceWrapper) GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestId(ctx echo.Context) error

GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestId converts echo context to params.

func (*ServerInterfaceWrapper) GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestIdPresentation

func (w *ServerInterfaceWrapper) GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestIdPresentation(ctx echo.Context) error

GetV1PharmaciesPharmacyIdPrescriptionsPresentationRequestsPresentationRequestIdPresentation converts echo context to params.

func (*ServerInterfaceWrapper) PostV1DoctorsDoctorIdPrescriptionsCredentialOffers

func (w *ServerInterfaceWrapper) PostV1DoctorsDoctorIdPrescriptionsCredentialOffers(ctx echo.Context) error

PostV1DoctorsDoctorIdPrescriptionsCredentialOffers converts echo context to params.

func (*ServerInterfaceWrapper) PostV1PatientsLogin

func (w *ServerInterfaceWrapper) PostV1PatientsLogin(ctx echo.Context) error

PostV1PatientsLogin converts echo context to params.

func (*ServerInterfaceWrapper) PostV1PatientsPatientIdPrescriptionsCredentials

func (w *ServerInterfaceWrapper) PostV1PatientsPatientIdPrescriptionsCredentials(ctx echo.Context) error

PostV1PatientsPatientIdPrescriptionsCredentials converts echo context to params.

func (*ServerInterfaceWrapper) PostV1PatientsPatientIdPrescriptionsPresentations

func (w *ServerInterfaceWrapper) PostV1PatientsPatientIdPrescriptionsPresentations(ctx echo.Context) error

PostV1PatientsPatientIdPrescriptionsPresentations converts echo context to params.

func (*ServerInterfaceWrapper) PostV1PatientsRegister

func (w *ServerInterfaceWrapper) PostV1PatientsRegister(ctx echo.Context) error

PostV1PatientsRegister converts echo context to params.

func (*ServerInterfaceWrapper) PostV1PharmaciesPharmacyIdPrescriptionsPresentationRequests

func (w *ServerInterfaceWrapper) PostV1PharmaciesPharmacyIdPrescriptionsPresentationRequests(ctx echo.Context) error

PostV1PharmaciesPharmacyIdPrescriptionsPresentationRequests converts echo context to params.

func (*ServerInterfaceWrapper) PostV1VcVerifyCredential

func (w *ServerInterfaceWrapper) PostV1VcVerifyCredential(ctx echo.Context) error

PostV1VcVerifyCredential converts echo context to params.

func (*ServerInterfaceWrapper) PostV1VcVerifyPresentation

func (w *ServerInterfaceWrapper) PostV1VcVerifyPresentation(ctx echo.Context) error

PostV1VcVerifyPresentation converts echo context to params.

type TabletDrugInfo

type TabletDrugInfo struct {
	DaysOfMedication     *float32 `json:"daysOfMedication,omitempty"`
	NumberOfDoses        *string  `json:"numberOfDoses,omitempty"`
	NumberOfDrug         *float32 `json:"numberOfDrug,omitempty"`
	TimingToTakeMedicine *string  `json:"timingToTakeMedicine,omitempty"`
}

TabletDrugInfo defines model for tabletDrugInfo.

type VerificationResponse

type VerificationResponse struct {
	Verified *bool `json:"verified,omitempty"`
}

VerificationResponse defines model for verificationResponse.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL