models

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2020 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// UpsertDocumentVaultOperation represents an upsert operation to be performed in a batch.
	UpsertDocumentVaultOperation = "upsert"
	// DeleteDocumentVaultOperation represents a delete operation to be performed in a batch.
	DeleteDocumentVaultOperation = "delete"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Batch

type Batch []VaultOperation

Batch represents a batch of operations to be performed in a vault.

type EncryptedDocument

type EncryptedDocument struct {
	ID                          string                       `json:"id"`
	Sequence                    int                          `json:"sequence"`
	IndexedAttributeCollections []IndexedAttributeCollection `json:"indexed,omitempty"`
	JWE                         json.RawMessage              `json:"jwe"`
}

EncryptedDocument represents an Encrypted Document as defined in https://identity.foundation/secure-data-store/#encrypteddocument.

type IDTypePair

type IDTypePair struct {
	ID   string `json:"id"`
	Type string `json:"type"`
}

IDTypePair represents an ID+Type pair. TODO: #2262 This is a simplified version of the actual EDV query format, which is still not finalized in the spec as of writing. See: https://github.com/decentralized-identity/secure-data-store/issues/34.

type IndexedAttribute

type IndexedAttribute struct {
	Name   string `json:"name"`
	Value  string `json:"value"`
	Unique bool   `json:"unique"`
}

IndexedAttribute represents a single indexed attribute.

type IndexedAttributeCollection

type IndexedAttributeCollection struct {
	Sequence          int                `json:"sequence"`
	HMAC              IDTypePair         `json:"hmac"`
	IndexedAttributes []IndexedAttribute `json:"attributes"`
}

IndexedAttributeCollection represents a collection of indexed attributes, all of which share a common MAC algorithm and key. This format is based on https://identity.foundation/secure-data-store/#creating-encrypted-indexes.

type Query

type Query struct {
	ReturnFullDocuments bool   `json:"returnFullDocuments"`
	Name                string `json:"index"`
	Value               string `json:"equals"`
}

Query represents a name+value pair that can be used to query the encrypted indices for specific data. TODO: #2262 This is a simplified version of the actual EDV query format, which is still not finalized in the spec as of writing. See: https://github.com/decentralized-identity/secure-data-store/issues/34. ReturnFullDocuments is currently non-standard and should only be used with an EDV server that supports it.

type StructuredDocument

type StructuredDocument struct {
	ID      string                 `json:"id"`
	Meta    map[string]interface{} `json:"meta"`
	Content map[string]interface{} `json:"content"`
}

StructuredDocument represents a Structured Document as defined in https://identity.foundation/secure-data-store/#structureddocument.

type VaultOperation

type VaultOperation struct {
	Operation         string            `json:"operation"`          // Valid values: upsert,delete
	DocumentID        string            `json:"id,omitempty"`       // Only used if Operation=delete
	EncryptedDocument EncryptedDocument `json:"document,omitempty"` // Only used if Operation=createOrUpdate
}

VaultOperation represents an upsert or delete operation to be performed in a vault. This is currently non-standard and should only be used with an EDV server that supports it.

Jump to

Keyboard shortcuts

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