web

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2025 License: MIT Imports: 59 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ToastCookie              = "toast_messages"
	ToastCookieTTL           = 10 * time.Minute
	ResetPasswordTokenCookie = "reset_password_token"
	ResetPasswordPath        = "/v1/reset-password"
	ResetPasswordTokenTTL    = 15 * time.Minute
)
View Source
const (
	ContentDisposition = "Content-Disposition"
	ContentType        = "Content-Type"
	AcceptLength       = "Accept-Length"
	ContentTypeCSV     = "text/csv"
)
View Source
const GenericComplianceName = "A VASP Compliance Team using TRISA Envoy"

Variables

View Source
var (
	ErrNoTRISAEndpoint      = errors.New("cannot construct trisa travel address: no trisa endpoint defined")
	ErrNoLocalCommonName    = errors.New("invalid configuration: no common name in trisa endpoint configuration")
	ErrNoLocalparty         = errors.New("could not lookup local vasp counterparty from database")
	ErrNotAccepted          = errors.New("the accepted formats are not offered by the server")
	ErrNoPublicKey          = errors.New("no public key associated with secure envelope")
	ErrSunriseSubject       = errors.New("invalid subject type for sunrise review")
	ErrSunriseRetrieve      = errors.New("could not retrieve sunrise record")
	ErrSunrise              = errors.New("could not complete sunrise request")
	ErrMissingID            = errors.New("id required for this resource")
	ErrIDMismatch           = errors.New("resource id does not match target")
	ErrNotFound             = errors.New("resource not found")
	ErrUnavailable          = errors.New("could not connect to remote counterparty; please try again later")
	ErrDisabled             = errors.New("the protocol used to send to the counterparty is currently disabled")
	ErrNotAllowed           = errors.New("the requested action is not allowed")
	ErrExpiredToken         = errors.New("the verification token is expired")
	ErrNoTransactionPayload = errors.New("no transaction payload found in latest secure envelope")
)
View Source
var TransactionsHeader = []string{
	"ID", "Status", "Counterparty", "Originator", "Originator Address",
	"Beneficiary", "Beneficiary Address", "Virtual Asset", "Amount",
	"Last Update", "Created", "Number of Envelopes", "HMAC Signature",
}

Functions

func CheckIDMatch added in v0.30.0

func CheckIDMatch(id, target ulid.ULID) error

CheckIDMatch returns an error if the id is Null or it does not match the target.

func CheckUUIDMatch

func CheckUUIDMatch(id, target uuid.UUID) error

func IsAPIRequest added in v0.16.0

func IsAPIRequest(c *gin.Context) bool

Determines if the request being handled is an API request by inspecting the request path and Accept header. If the request path starts in /v1 and the Accept header is nil or json, then this function returns true.

func SlowDown added in v1.0.0

func SlowDown()

Slow down sleeps the request for a random amount of time between 250ms and 2500ms

func ValidateSunrise added in v1.0.0

func ValidateSunrise(in *api.Envelope) (err error)

Types

type Render

type Render struct {
	// contains filtered or unexported fields
}

Implements the render.HTMLRender interface for gin.

func NewRender

func NewRender(fsys fs.FS) (render *Render, err error)

Creates a new template renderer from the default templates. Templates should be stored in the "templates" directory and organized as follows: Any sub-templates that need to be included with other templates should be added to the includes variable above (e.g. components). Partials for HTMX rendering should be stored in the partials directory. All other templates should be stored in named directories. All templates will include base.html and any html files in the root of the subdirectory. Each template file in a sub-sub directory will be treated as independent and will not include the templates in the same sub-sub directory or sibling directories.

For example, if we have a tempalate in dashboards/transactions/list.html; the parsed templates will include *.html, components/*.html, modals/*.html, dashboards/*.html, and dashboards/transactions/list.html.

Specify the template required by its path relative to the template directory.

func (*Render) AddPattern

func (r *Render) AddPattern(fsys fs.FS, pattern string, includes ...string) (err error)

func (*Render) FuncMap added in v1.0.0

func (r *Render) FuncMap() template.FuncMap

func (*Render) Instance

func (r *Render) Instance(name string, data any) render.Render

type Server

type Server struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

The Web Server implements the compliance and administrative user interfaces.

func Debug

func Debug(conf config.Config, store store.Store, network network.Network, srv *http.Server) (s *Server, err error)

Debug returns a server that uses the specified http server instead of creating one. This function is primarily used to create test servers easily.

func New

func New(conf config.Config, store store.Store, network network.Network) (s *Server, err error)

Create a new web server that serves the compliance and admin web user interface.

func (*Server) APIDocs added in v0.25.0

func (s *Server) APIDocs(c *gin.Context)

If this is an HTML request it renders the OpenAPI documentation page; otherwise if this is an API request, then it returns a list of the available endpoints in JSON.

func (*Server) APIEnabled added in v0.16.0

func (s *Server) APIEnabled() gin.HandlerFunc

If the API is disabled, this middleware factory function returns a middleware that returns 529 Unavailable on all API requests. If the API is enabled, it returns nil and should not be used as a middleware function.

func (*Server) APIKeyDetail added in v0.24.1

func (s *Server) APIKeyDetail(c *gin.Context)

func (*Server) APIKeysListPage added in v1.0.0

func (s *Server) APIKeysListPage(c *gin.Context)

func (*Server) AboutPage added in v1.0.0

func (s *Server) AboutPage(c *gin.Context)

func (*Server) AcceptTransaction added in v0.14.0

func (s *Server) AcceptTransaction(c *gin.Context)

func (*Server) AcceptTransactionPreview added in v0.12.0

func (s *Server) AcceptTransactionPreview(c *gin.Context)

func (*Server) AccountDetail

func (s *Server) AccountDetail(c *gin.Context)

func (*Server) AccountDetailPage added in v1.0.0

func (s *Server) AccountDetailPage(c *gin.Context)

func (*Server) AccountDetailTemplate added in v1.0.0

func (s *Server) AccountDetailTemplate(c *gin.Context, template string)

func (*Server) AccountEditPage added in v1.0.0

func (s *Server) AccountEditPage(c *gin.Context)

func (*Server) AccountQRCode added in v1.0.0

func (s *Server) AccountQRCode(c *gin.Context)

func (*Server) AccountTransfers added in v1.0.0

func (s *Server) AccountTransfers(c *gin.Context)

func (*Server) AccountTransfersPage added in v1.0.0

func (s *Server) AccountTransfersPage(c *gin.Context)

func (*Server) AccountsListPage added in v1.0.0

func (s *Server) AccountsListPage(c *gin.Context)

func (*Server) AddToastMessage added in v1.0.0

func (s *Server) AddToastMessage(c *gin.Context, heading, message, toastType string)

func (*Server) ArchiveTransaction added in v0.29.0

func (s *Server) ArchiveTransaction(c *gin.Context)

func (*Server) Authenticate

func (s *Server) Authenticate(c *gin.Context)

func (*Server) AvailableProtocols added in v1.0.0

func (s *Server) AvailableProtocols(c *gin.Context)

func (*Server) ChangePassword added in v0.18.0

func (s *Server) ChangePassword(c *gin.Context)

func (*Server) ChangeProfilePassword added in v1.0.0

func (s *Server) ChangeProfilePassword(c *gin.Context)

func (*Server) ChangeUserPassword added in v0.18.0

func (s *Server) ChangeUserPassword(c *gin.Context)

func (*Server) ClearCookie added in v1.0.0

func (s *Server) ClearCookie(c *gin.Context, name, path string, httpOnly bool)

func (*Server) ClearResetPasswordTokenCookie added in v1.0.0

func (s *Server) ClearResetPasswordTokenCookie(c *gin.Context)

func (*Server) ClearToastMessages added in v1.0.0

func (s *Server) ClearToastMessages(c *gin.Context)

func (*Server) CompleteTransaction added in v1.0.0

func (s *Server) CompleteTransaction(c *gin.Context)

func (*Server) CompleteTransactionPreview added in v1.0.0

func (s *Server) CompleteTransactionPreview(c *gin.Context)

func (*Server) ComplianceAuditLogDetail added in v1.2.0

func (s *Server) ComplianceAuditLogDetail(c *gin.Context)

func (*Server) ComplianceAuditLogDetailPage added in v1.2.0

func (s *Server) ComplianceAuditLogDetailPage(c *gin.Context)

func (*Server) ComplianceAuditLogListPage added in v1.2.0

func (s *Server) ComplianceAuditLogListPage(c *gin.Context)

func (*Server) ContactDetail added in v0.28.0

func (s *Server) ContactDetail(c *gin.Context)

func (*Server) CounterpartiesListPage added in v1.0.0

func (s *Server) CounterpartiesListPage(c *gin.Context)

func (*Server) CounterpartyDetail

func (s *Server) CounterpartyDetail(c *gin.Context)

func (*Server) CounterpartyDetailPage added in v1.0.0

func (s *Server) CounterpartyDetailPage(c *gin.Context)

func (*Server) CounterpartyFromTravelAddress

func (s *Server) CounterpartyFromTravelAddress(c *gin.Context, address string) (cp *models.Counterparty, err error)

func (*Server) CounterpartyRouting added in v1.0.0

func (s *Server) CounterpartyRouting(ctx context.Context, in *api.RoutingQuery) (routing *api.Routing, err error)

func (*Server) CreateAPIKey added in v0.24.1

func (s *Server) CreateAPIKey(c *gin.Context)

func (*Server) CreateAccount

func (s *Server) CreateAccount(c *gin.Context)

func (*Server) CreateContact added in v0.28.0

func (s *Server) CreateContact(c *gin.Context)

func (*Server) CreateCounterparty

func (s *Server) CreateCounterparty(c *gin.Context)

func (*Server) CreateCryptoAddress

func (s *Server) CreateCryptoAddress(c *gin.Context)

func (*Server) CreateTransaction

func (s *Server) CreateTransaction(c *gin.Context)

func (*Server) CreateUser added in v0.18.0

func (s *Server) CreateUser(c *gin.Context)

func (*Server) CryptoAddressDetail

func (s *Server) CryptoAddressDetail(c *gin.Context)

func (*Server) CryptoAddressQRCode added in v1.0.0

func (s *Server) CryptoAddressQRCode(c *gin.Context)

func (*Server) DBInfo added in v0.28.0

func (s *Server) DBInfo(c *gin.Context)

DBInfo reports the database connection status and information if available, otherwise returns a 501 Not Implemented http error.

func (*Server) Debug

func (s *Server) Debug(c *gin.Context)

func (*Server) DecodeTravelAddress added in v0.12.0

func (s *Server) DecodeTravelAddress(c *gin.Context)

Decode a travel address into a URL or its other contents.

func (*Server) Decrypt added in v0.14.0

func (s *Server) Decrypt(in *models.SecureEnvelope) (out *envelope.Envelope, err error)

func (*Server) DeleteAPIKey added in v0.24.1

func (s *Server) DeleteAPIKey(c *gin.Context)

func (*Server) DeleteAccount

func (s *Server) DeleteAccount(c *gin.Context)

func (*Server) DeleteContact added in v0.28.0

func (s *Server) DeleteContact(c *gin.Context)

func (*Server) DeleteCounterparty

func (s *Server) DeleteCounterparty(c *gin.Context)

func (*Server) DeleteCryptoAddress

func (s *Server) DeleteCryptoAddress(c *gin.Context)

func (*Server) DeleteProfile added in v1.0.0

func (s *Server) DeleteProfile(c *gin.Context)

func (*Server) DeleteTransaction

func (s *Server) DeleteTransaction(c *gin.Context)

func (*Server) DeleteUser added in v0.18.0

func (s *Server) DeleteUser(c *gin.Context)

func (*Server) EncodeTravelAddress added in v0.12.0

func (s *Server) EncodeTravelAddress(c *gin.Context)

Convert a URL or other data into a travel address.

func (*Server) Error added in v1.0.0

func (s *Server) Error(c *gin.Context, err error)

Logs the error with c.Error and negotiates the response. If HTML is requested by the Accept header, then a 500 error page is displayed. If JSON is requested, then the error is rendered as a JSON response. If a non error is passed as err then no error is logged to the context and it is treated as a message to the user.

func (*Server) ExportTransactions

func (s *Server) ExportTransactions(c *gin.Context)

func (*Server) ForgotPassword added in v1.0.0

func (s *Server) ForgotPassword(c *gin.Context)

Looks up a user by email and sends that user a link/token to reset their password.

func (*Server) ForgotPasswordPage added in v1.0.0

func (s *Server) ForgotPasswordPage(c *gin.Context)

ForgotPasswordPage displays the reset password form for the UI so that the user can enter their email address and receive a password reset link.

func (*Server) ForgotPasswordSentPage added in v1.0.0

func (s *Server) ForgotPasswordSentPage(c *gin.Context)

ForgotPasswordSentPage displays the success page for the reset password request. Rather than using an HTMX partial, we redirect the user to this page to ensure they close the window (e.g. if they were logged in) and to prevent a conflict when cookies are reset during the password reset process.

func (*Server) GetComplianceName added in v0.28.0

func (s *Server) GetComplianceName() string

func (*Server) Healthz

func (s *Server) Healthz(c *gin.Context)

Healthz is used to alert k8s to the health/liveness status of the server.

func (*Server) Home

func (s *Server) Home(c *gin.Context)

Home is the root landing page of the server. If the request is for the HTML UI - then it redirects to the transactions inbox page. If the request is an API request, it redirects to the API documentation.

func (*Server) InternalError added in v1.0.0

func (s *Server) InternalError(c *gin.Context)

Renders the "internal server error page" TODO: handle htmx error redirects with error message in the context.

func (*Server) Issuer added in v1.1.0

func (s *Server) Issuer() *auth.ClaimsIssuer

Used to fetch the access token issuer to authenticate tests.

func (*Server) LatestEnvelope added in v1.0.0

func (s *Server) LatestEnvelope(c *gin.Context)

func (*Server) LatestPayloadEnvelope added in v0.24.0

func (s *Server) LatestPayloadEnvelope(c *gin.Context)

func (*Server) ListAPIKeys added in v0.24.1

func (s *Server) ListAPIKeys(c *gin.Context)

func (*Server) ListAccounts

func (s *Server) ListAccounts(c *gin.Context)

func (*Server) ListComplianceAuditLogs added in v1.2.0

func (s *Server) ListComplianceAuditLogs(c *gin.Context)

func (*Server) ListContacts added in v0.28.0

func (s *Server) ListContacts(c *gin.Context)

func (*Server) ListCounterparties

func (s *Server) ListCounterparties(c *gin.Context)

func (*Server) ListCryptoAddresses

func (s *Server) ListCryptoAddresses(c *gin.Context)

func (*Server) ListSecureEnvelopes

func (s *Server) ListSecureEnvelopes(c *gin.Context)

func (*Server) ListTransactions

func (s *Server) ListTransactions(c *gin.Context)

func (*Server) ListUsers added in v0.18.0

func (s *Server) ListUsers(c *gin.Context)

func (*Server) Localparty

func (s *Server) Localparty(ctx context.Context) (_ *models.Counterparty, err error)

Localparty returns the VASP information for the current node.

func (*Server) Login

func (s *Server) Login(c *gin.Context)

func (*Server) LoginPage

func (s *Server) LoginPage(c *gin.Context)

LoginPage displays the login form for the UI so that the user can enter their account credentials and access the compliance interface.

func (*Server) Logout

func (s *Server) Logout(c *gin.Context)

func (*Server) LookupAccount added in v1.0.0

func (s *Server) LookupAccount(c *gin.Context)

func (*Server) Maintenance

func (s *Server) Maintenance() gin.HandlerFunc

If the server is in maintenance mode, aborts the current request and renders the maintenance mode page instead. Returns nil if not in maintenance mode.

func (*Server) NotAllowed

func (s *Server) NotAllowed(c *gin.Context)

Renders the "invalid action page"

func (*Server) NotFound

func (s *Server) NotFound(c *gin.Context)

Renders the "not found page"

func (*Server) OpenAPI added in v0.24.0

func (s *Server) OpenAPI() gin.HandlerFunc

Prepares and returns the OpenAPI spec in the requested format (JSON or YAML).

func (*Server) PrepareTransaction

func (s *Server) PrepareTransaction(c *gin.Context)

func (*Server) ProfileDetail added in v1.0.0

func (s *Server) ProfileDetail(c *gin.Context)

func (*Server) Readyz

func (s *Server) Readyz(c *gin.Context)

Readyz is used to alert k8s to the readiness status of the server.

func (*Server) Reauthenticate

func (s *Server) Reauthenticate(c *gin.Context)

func (*Server) RejectTransaction added in v0.14.0

func (s *Server) RejectTransaction(c *gin.Context)

func (*Server) RepairTransaction added in v0.24.0

func (s *Server) RepairTransaction(c *gin.Context)

func (*Server) RepairTransactionPreview added in v0.24.0

func (s *Server) RepairTransactionPreview(c *gin.Context)

func (*Server) ResetPassword added in v1.0.0

func (s *Server) ResetPassword(c *gin.Context)

Verifies an incoming password change requested via a verification link, then changes the user's password according to the password form submitted.

func (*Server) ResetPasswordPage added in v1.0.0

func (s *Server) ResetPasswordPage(c *gin.Context)

ResetPasswordPage allows the user to enter a new password if the reset password link is verified and change their password as necessary.

func (*Server) ResolveCounterparty added in v1.0.0

func (s *Server) ResolveCounterparty(c *gin.Context, in *api.Routing) (vasp *models.Counterparty, err error)

Resolves a counterparty from the routing information and validates in the incoming counterparty. If there is an error, this function will return the appropriate error response and status code to the client so the caller simply has to terminate handling.

func (*Server) RetrieveAccount added in v1.0.0

func (s *Server) RetrieveAccount(c *gin.Context) (*models.Account, error)

Helper function to retrieve an account detail for the accounts UI pages and the API.

func (*Server) SearchCounterparties added in v0.23.0

func (s *Server) SearchCounterparties(c *gin.Context)

func (*Server) SecureEnvelopeDetail

func (s *Server) SecureEnvelopeDetail(c *gin.Context)

func (*Server) Send added in v1.0.0

func (s *Server) Send(c *gin.Context, routing *api.Routing, payload *trisa.Payload) (packet *postman.Packet, err error)

Send performs the bulk of the work to send a travel rule transfer to the counterparty specified and storing both the outgoing and incoming secure envelopes in the database. This method is used to send the prepared transaction, to send envelopes for a transaction, and in the accept/reject workflows.

func (*Server) SendEnvelope deprecated added in v0.14.0

func (s *Server) SendEnvelope(ctx context.Context, packet *postman.TRISAPacket) (err error)

Deprecated: callers should be updated to use SendPacket instead.

func (*Server) SendEnvelopeForTransaction added in v0.14.0

func (s *Server) SendEnvelopeForTransaction(c *gin.Context)

func (*Server) SendForm added in v1.0.0

func (s *Server) SendForm(c *gin.Context)

func (*Server) SendPacket added in v1.0.0

func (s *Server) SendPacket(ctx context.Context, protocol enum.Protocol, packet *postman.Packet) (_ *postman.Packet, err error)

func (*Server) SendPreparedTransaction

func (s *Server) SendPreparedTransaction(c *gin.Context)

func (*Server) SendSunrise added in v0.28.0

func (s *Server) SendSunrise(ctx context.Context, packet *postman.SunrisePacket) (err error)

func (*Server) SendTRISA added in v1.0.0

func (s *Server) SendTRISA(ctx context.Context, p *postman.TRISAPacket) (err error)

func (*Server) Serve

func (s *Server) Serve(errc chan<- error) (err error)

Serve the compliance and administrative user interfaces in its own go routine.

func (*Server) SetCookie added in v1.0.0

func (s *Server) SetCookie(c *gin.Context, name, value, path string, maxAge int, httpOnly bool)

func (*Server) SetResetPasswordTokenCookie added in v1.0.0

func (s *Server) SetResetPasswordTokenCookie(c *gin.Context, token string)

func (*Server) SetStatus

func (s *Server) SetStatus(health, ready bool)

SetStatus sets the health and ready status on the server, modifying the behavior of the kubernetes probe responses.

func (*Server) SetSunriseAuthCookies added in v0.28.0

func (s *Server) SetSunriseAuthCookies(c *gin.Context, model *models.Sunrise) (err error)

func (*Server) SettingsPage added in v1.0.0

func (s *Server) SettingsPage(c *gin.Context)

func (*Server) Shutdown

func (s *Server) Shutdown() (err error)

Shutdown the web server gracefully.

func (*Server) Status

func (s *Server) Status(c *gin.Context)

Status reports the version and uptime of the server

func (*Server) SunriseAuthenticate added in v0.28.0

func (s *Server) SunriseAuthenticate(issuer *auth.ClaimsIssuer) gin.HandlerFunc

Authenticates sunrise users verifying the access token in the request. Does not allow API or JSON requests to be authenticated and the claims must have a sunrise subject. If the user is not authenticated they are redirected to the sunrise_404.html page.

This middleware should only be on routes intended for use by sunrise users.

func (*Server) SunriseEnabled added in v0.28.0

func (s *Server) SunriseEnabled() gin.HandlerFunc

Aborts the request with a 404 error if sunrise is not enabled.

func (*Server) SunriseError added in v1.0.0

func (s *Server) SunriseError(c *gin.Context, err error)

func (*Server) SunriseMessageAccept added in v0.28.0

func (s *Server) SunriseMessageAccept(c *gin.Context)

func (*Server) SunriseMessageCompleted added in v1.0.0

func (s *Server) SunriseMessageCompleted(c *gin.Context)

func (*Server) SunriseMessageDownload added in v0.30.0

func (s *Server) SunriseMessageDownload(c *gin.Context)

func (*Server) SunriseMessageReject added in v0.28.0

func (s *Server) SunriseMessageReject(c *gin.Context)

func (*Server) SunriseMessageReview added in v0.28.0

func (s *Server) SunriseMessageReview(c *gin.Context)

func (*Server) SunriseMissing added in v1.0.0

func (s *Server) SunriseMissing(c *gin.Context)

func (*Server) ToastMessages added in v1.0.0

func (s *Server) ToastMessages(c *gin.Context) scene.ToastMessages

func (*Server) TransactionDetail

func (s *Server) TransactionDetail(c *gin.Context)

func (*Server) TransactionDetailPage added in v1.0.0

func (s *Server) TransactionDetailPage(c *gin.Context)

func (*Server) TransactionsAcceptPreview added in v0.12.0

func (s *Server) TransactionsAcceptPreview(c *gin.Context)

func (*Server) TransactionsListPage added in v1.0.0

func (s *Server) TransactionsListPage(c *gin.Context)

func (*Server) TransactionsRepairPreview added in v0.24.1

func (s *Server) TransactionsRepairPreview(c *gin.Context)

func (*Server) TravelAddressUtility added in v0.12.0

func (s *Server) TravelAddressUtility(c *gin.Context)

func (*Server) UIEnabled added in v0.16.0

func (s *Server) UIEnabled() gin.HandlerFunc

If the UI is disabled, this middleware factory function returrns a middleware that returns 529 Unvailable on all UI requests. If the UI is enabled, it returns nil.

func (*Server) URL

func (s *Server) URL() string

URL returns the endpoint of the server as determined by the configuration and the socket address and port (if specified).

func (*Server) UnarchiveTransaction added in v1.0.0

func (s *Server) UnarchiveTransaction(c *gin.Context)

func (*Server) UpdateAPIKey added in v0.24.1

func (s *Server) UpdateAPIKey(c *gin.Context)

func (*Server) UpdateAPIKeyPreview added in v0.27.0

func (s *Server) UpdateAPIKeyPreview(c *gin.Context)

func (*Server) UpdateAccount

func (s *Server) UpdateAccount(c *gin.Context)

func (*Server) UpdateContact added in v0.28.0

func (s *Server) UpdateContact(c *gin.Context)

func (*Server) UpdateCounterparty

func (s *Server) UpdateCounterparty(c *gin.Context)

func (*Server) UpdateCounterpartyPreview

func (s *Server) UpdateCounterpartyPreview(c *gin.Context)

func (*Server) UpdateCryptoAddress

func (s *Server) UpdateCryptoAddress(c *gin.Context)

func (*Server) UpdateProfile added in v1.0.0

func (s *Server) UpdateProfile(c *gin.Context)

func (*Server) UpdateTransaction

func (s *Server) UpdateTransaction(c *gin.Context)

func (*Server) UpdateUser added in v0.18.0

func (s *Server) UpdateUser(c *gin.Context)

func (*Server) UserAccount added in v1.0.0

func (s *Server) UserAccount(c *gin.Context)

func (*Server) UserDetail added in v0.18.0

func (s *Server) UserDetail(c *gin.Context)

func (*Server) UserProfile added in v0.18.0

func (s *Server) UserProfile(c *gin.Context)

func (*Server) UsersListPage added in v1.0.0

func (s *Server) UsersListPage(c *gin.Context)

func (*Server) ValidateIVMS101 added in v0.29.0

func (s *Server) ValidateIVMS101(c *gin.Context)

func (*Server) VerifySunriseUser added in v0.28.0

func (s *Server) VerifySunriseUser(c *gin.Context)

The incoming request should be coming from a compliance officer at a VASP who has received a sunrise message. The request should include a verification token, otherwise a 404 is returned. If the verification token is valid, this endpoint will send a OTP to the user's email address, which the user must type in as a secondary check that they do indeed have access to the email address the message was sent to. If the token is expired, the user can request a new verification token sent to their email address. If the token is completed, e.g. the user has already logged in with it at least once; they can do the OTP passcheck and receive access to the data.

Directories

Path Synopsis
api
v1
Scene provides well structured template contexts and functionality for HTML template rendering.
Scene provides well structured template contexts and functionality for HTML template rendering.

Jump to

Keyboard shortcuts

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