v1structs

package
v0.0.0-...-cafed51 Latest Latest
Warning

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

Go to latest
Published: May 17, 2019 License: AGPL-3.0 Imports: 1 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateEventRequest

type CreateEventRequest struct {
	// Name is the name of the event, e.g. `error_updating_team`
	Name                  string `json:"name"`
	RelatedKeyFingerprint string `json:"relatedKeyFingerprint"`
	RelatedTeamUUID       string `json:"relatedTeamUUID"`
	Error                 string `json:"error"`
}

CreateEventRequest is the JSON structure containing an event to be logged from Fluidkeys client.

type ErrorResponse

type ErrorResponse struct {
	// Detail is a human-readable string describing the error.
	Detail string `json:"detail"`
}

ErrorResponse is the JSON structure returned when the API encounters an error.

type GetPublicKeyResponse

type GetPublicKeyResponse struct {
	// ArmoredPublicKey is the ASCII-armored OpenPGP public key.
	ArmoredPublicKey string `json:"armoredPublicKey"`
}

GetPublicKeyResponse is the JSON structure returned by the get public key API endpoint. See: https://github.com/fluidkeys/api/blob/master/README.md#get-a-public-key

type GetTeamResponse

type GetTeamResponse struct {
	Name string `json:"name"`
}

GetTeamResponse is the JSON structure returned by the get team API endpoint.

type GetTeamRosterResponse

type GetTeamRosterResponse struct {
	// EncryptedMetadata [DEPRECATED] is an ASCII-armored encrypted PGP message which decrypts to a
	// `TeamRosterAndSignature` JSON structure.
	EncryptedJSON string `json:"encryptedJSON"`

	// TeamRoster describes the members and configuration of a team.
	// See github.com/fluidkeys/fluidkeys/teamroster
	TeamRoster string `json:"teamRoster"`

	// The ASCII-armored detached signature of the team roster.
	// In GnuPG this would be generated by typing:
	//
	// > gpg --armor --output roster.toml.sig --detach-sig roster.toml
	ArmoredDetachedSignature string `json:"armoredDetachedSignature"`
}

GetTeamRosterResponse is the JSON structure containing the team's roster and detached signature, encrypted to the key that requested it.

type ListRequestsToJoinTeamResponse

type ListRequestsToJoinTeamResponse struct {
	Requests []RequestToJoinTeam `json:"requests"`
}

ListRequestsToJoinTeamResponse is the JSON structure returned by the list requests to join team API endpoint.

type ListSecretsResponse

type ListSecretsResponse struct {
	Secrets []Secret `json:"secrets"`
}

ListSecretsResponse is the JSON structure returned by the list secrets API endpoint. See: https://github.com/fluidkeys/api/blob/master/README.md#list-your-secrets

type RequestToJoinTeam

type RequestToJoinTeam struct {
	UUID        string `json:"uuid"`
	Fingerprint string `json:"fingerprint"`
	Email       string `json:"email"`
}

RequestToJoinTeam is the JSON structure containg the data for a request to join a team returned by the list requests to join team API endpoint.

type RequestToJoinTeamRequest

type RequestToJoinTeamRequest struct {
	TeamEmail string `json:"teamEmail"`
}

RequestToJoinTeamRequest is the JSON structure used for requests to the request to join team API enndpoint.

type Secret

type Secret struct {
	// EncryptedMetadata is an ASCII-armored encrypted PGP message which
	// decrypts to a `SecretMetadata` JSON structure.
	EncryptedMetadata string `json:"encryptedMetadata"`

	// EncryptedContent is an ASCII-armored encrypted PGP message
	// containing the actual content of the secret.
	EncryptedContent string `json:"encryptedContent"`
}

Secret is the JSON structure containing the metadata and content for an encrypted secret returned by the list secrets API endpoint.

type SecretMetadata

type SecretMetadata struct {
	// SecretUUID uniquely identifies the secret to the API
	SecretUUID string `json:"secretUuid"`
}

SecretMetadata contains non-content information about an encrypted secret.

type SendSecretRequest

type SendSecretRequest struct {
	RecipientFingerprint   string `json:"recipientFingerprint"`
	ArmoredEncryptedSecret string `json:"armoredEncryptedSecret"`
}

SendSecretRequest is the JSON structure used for requests to the send secret API endpoint. See: https://github.com/fluidkeys/api/blob/master/README.md#send-a-secret-to-a-public-key

type TeamRosterAndSignature

type TeamRosterAndSignature struct {
	// TeamRoster describes the members and configuration of a team.
	// See github.com/fluidkeys/fluidkeys/teamroster
	TeamRoster string `json:"teamRoster"`

	// The ASCII-armored detached signature of the team roster.
	// In GnuPG this would be generated by typing:
	//
	// > gpg --armor --output roster.toml.sig --detach-sig roster.toml
	ArmoredDetachedSignature string `json:"armoredDetachedSignature"`
}

TeamRosterAndSignature contains a TOML team roster and an armored detached OpenPGP signature.

type UpsertPublicKeyRequest

type UpsertPublicKeyRequest struct {
	// ArmoredPublicKey is the public key to be created or updated
	ArmoredPublicKey string `json:"armoredPublicKey"`

	// ArmoredSignedJSON is an ASCII-armored message, decoding to a JSON
	// message which decodes as an UpsertPublicKeySignedData
	ArmoredSignedJSON string `json:"armoredSignedJSON"`
}

UpsertPublicKeyRequest is a request to create or update a public key.

type UpsertPublicKeyResponse

type UpsertPublicKeyResponse struct {

	// ArmoredEncryptedBasicAuthPassword, when decrypted, contains a
	// system-generated password that can be used to authenticate
	// subsequent API calls using HTTP basic auth.
	ArmoredEncryptedBasicAuthPassword string `json:"armoredEncryptedBasicAuthPassword"`
}

UpsertPublicKeyResponse is the JSON response returned from the upsert public key endpoint.

type UpsertPublicKeySignedData

type UpsertPublicKeySignedData struct {
	// The client's current time which must be within 24 hours of the
	// server's timestamp
	Timestamp time.Time `json:"timestamp"`

	// SingleUseUUID is a random UUID that is used once and must not be used
	// again. Its purpose is to prevent replay attacks where signed JSON
	// is re-sent to the API at a later date (possibly at a different
	// endpoint)
	SingleUseUUID string `json:"singleUseUuid"`

	// PublicKeySHA256 is the SHA256 hash of the ArmoredPublicKey in the
	// outer request
	PublicKeySHA256 string `json:"publicKeySha256"`
}

UpsertPublicKeySignedData is data self-signed by the public key being upserted to ensure that only the owner of a public key can upload it (a third party can't generate a valid signature)

type UpsertTeamRequest

type UpsertTeamRequest = TeamRosterAndSignature

UpsertTeamRequest is the JSON structure containing a signed team roster.

Jump to

Keyboard shortcuts

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