Documentation
¶
Index ¶
- Constants
- Variables
- func AcceptableIDType(id interface{}) (string, bool)
- func Adjust(obj interface{}, state map[string]interface{}) interface{}
- func CreateCorsObject() *cors.Cors
- func DeleteValue(key string, state map[string]interface{}) error
- func DownloadFileFromURL(url, dest string) error
- func GetIDVariable(dbType string) string
- func GetTokenFromHeader(r *http.Request) string
- func JoinLeading(s1 string, s2 string, ch string) string
- func JoinLeadingTrailing(s1 string, s2 string, ch string) string
- func JoinTrailing(s1 string, s2 string, ch string) string
- func LoadBool(key interface{}, args map[string]interface{}) (bool, error)
- func LoadNumber(key interface{}, args map[string]interface{}) (float64, error)
- func LoadStringIfExists(value string, state map[string]interface{}) (string, error)
- func LoadValue(key string, state map[string]interface{}) (interface{}, error)
- func ParseGraphqlValue(value ast.Value, store M) (interface{}, error)
- func SingleLeading(s string, ch string) string
- func SingleLeadingTrailing(s string, ch string) string
- func SingleTrailing(s string, ch string) string
- func StoreValue(key string, value interface{}, state map[string]interface{}) error
- func StoreValueInObject(key string, value interface{}, obj map[string]interface{}) error
- func Unzip(src string, dest string) error
- func UserHomeDir() string
- func Validate(where map[string]interface{}, obj interface{}) bool
- type Array
- type Broker
- type DBType
- type DatabaseCollections
- type FieldType
- type FileOpType
- type FileStoreType
- type ForeignKeysType
- type IndexType
- type M
- type MakeHttpRequest
- type Object
- type OperationType
- type OrchestratorType
- type RequestKind
Constants ¶
const ( // One operation returns a single document from the database One string = "one" // All operation returns multiple documents from the database All string = "all" // Count operation returns the number of documents which match the condition Count string = "count" // Distinct operation returns distinct values Distinct string = "distinct" // Upsert creates a new document if it doesn't exist, else it updates exiting document Upsert string = "upsert" )
const ( // RealtimeInsert is for create operations RealtimeInsert string = "insert" // RealtimeUpdate is for update operations RealtimeUpdate string = "update" // RealtimeDelete is for delete operations RealtimeDelete string = "delete" // RealtimeInitial is for the initial data RealtimeInitial string = "initial" )
const ( // TypeRealtimeSubscribe is the request type for live query subscription TypeRealtimeSubscribe string = "realtime-subscribe" // TypeRealtimeUnsubscribe is the request type for live query subscription TypeRealtimeUnsubscribe string = "realtime-unsubscribe" // TypeRealtimeFeed is the response type for realtime feed TypeRealtimeFeed string = "realtime-feed" )
const ( // PortHTTP is the port used for the http server PortHTTP string = "4122" // PortHTTPConnect is the port used for the http server with consul connect PortHTTPConnect string = "4124" // PortHTTPSecure is the port used for the http server with tls PortHTTPSecure string = "4126" )
const ( // GQL_CONNECTION_KEEP_ALIVE send every 20 second to client over websocket GQL_CONNECTION_KEEP_ALIVE string = "ka" // Server -> Client // GQL_CONNECTION_INIT is used by graphql over websocket protocol GQL_CONNECTION_INIT string = "connection_init" // Client -> Server // GQL_CONNECTION_ACK is used by graphql over websocket protocol GQL_CONNECTION_ACK string = "connection_ack" // Server -> Client // GQL_CONNECTION_ERROR is used by graphql over websocket protocol GQL_CONNECTION_ERROR string = "connection_error" // Server -> Client // GQL_CONNECTION_TERMINATE is used by graphql over websocket protocol GQL_CONNECTION_TERMINATE string = "connection_terminate" // Client -> Server // GQL_START is used by graphql over websocket protocol GQL_START string = "start" // Client -> Server // GQL_DATA is used by graphql over websocket protocol GQL_DATA string = "data" // Server -> Client // GQL_ERROR is used by graphql over websocket protocol GQL_ERROR string = "error" // Server -> Client // GQL_COMPLETE is used by graphql over websocket protocol GQL_COMPLETE string = "complete" // Server -> Client // GQL_STOP is used by graphql over websocket protocol GQL_STOP string = "stop" // Client -> Server )
const ( // EventDBCreate is fired for create request EventDBCreate string = "DB_INSERT" // EventDBUpdate is fired for update request EventDBUpdate string = "DB_UPDATE" // EventDBDelete is fired for delete request EventDBDelete string = "DB_DELETE" // EventFileCreate is fired for create request EventFileCreate string = "FILE_CREATE" // EventFileDelete is fired for delete request EventFileDelete string = "FILE_DELETE" )
const ( // EventStatusIntent signifies that the event hasn't been staged yet EventStatusIntent string = "intent" // EventStatusStaged signifies that the event can be processed EventStatusStaged string = "staged" // EventStatusProcessed signifies that the event has been successfully been processed and can be deleted EventStatusProcessed string = "processed" // EventStatusFailed signifies that the event has failed and should not be processed EventStatusFailed string = "failed" // EventStatusCancelled signifies that the event has been cancelled and should not be processed EventStatusCancelled string = "cancel" )
const BuildVersion = "0.15.3"
BuildVersion is the current version of Space Cloud
const DefaultConfigFilePath string = "config.yaml"
DefaultConfigFilePath is the default path to load / store the config file
const InternalUserID string = "internal-sc-user"
InternalUserID is the auth.id used for internal requests
const MaxEventTokens int = 100
MaxEventTokens describes the maximum number of event workers
const ( // PayloadSize is the size of the payload(in bytes) in file upload and download PayloadSize int = 256 * 1024 // 256 kB )
const SpaceCloudServiceName string = "space-cloud"
SpaceCloudServiceName is the service name space cloud will register itself with in service discovery mechanisms
Variables ¶
var ErrDatabaseConfigAbsent = errors.New("No such database found in SC config file")
ErrDatabaseConfigAbsent is thrown when database config is not present
var ErrDatabaseConnection = errors.New("Could not connect to database. Make sure it is up and connection string provided to SC is correct")
ErrDatabaseConnection is thrown when SC was unable to connect to the requested database
var ErrDatabaseDisabled = errors.New("Database is disabled. Please enable it")
ErrDatabaseDisabled is thrown when an operation is requested on a disabled database
var ErrInvalidParams = errors.New("Invalid parameter provided")
ErrInvalidParams is thrown when the input parameters for an operation are invalid
var ErrUnsupportedDatabase = errors.New("Unsupported database. Make sure your database type is correct")
ErrUnsupportedDatabase is thrown when an invalid db type is provided
Functions ¶
func AcceptableIDType ¶ added in v0.12.0
AcceptableIDType converts a provied id to string
func Adjust ¶
func Adjust(obj interface{}, state map[string]interface{}) interface{}
Adjust loads value from state if referenced
func CreateCorsObject ¶ added in v0.13.0
CreateCorsObject creates a cors object with the required config
func DeleteValue ¶ added in v0.15.0
DeleteValue -- deletes a value in the provided state
func DownloadFileFromURL ¶ added in v0.10.0
DownloadFileFromURL downloads a file from url and stores it at a given destination
func GetIDVariable ¶ added in v0.12.0
GetIDVariable gets the id variable for the provided db type
func GetTokenFromHeader ¶ added in v0.13.0
GetTokenFromHeader returns the token from the request header
func JoinLeading ¶ added in v0.12.0
JoinLeading joins s1 and s2, using ch, and ensures ch occurs at the start
func JoinLeadingTrailing ¶ added in v0.12.0
JoinLeadingTrailing joins s1 and s2, using ch, and ensures ch occurs at the start and end
func JoinTrailing ¶ added in v0.12.0
JoinTrailing joins s1 and s2, using ch, and ensures ch occurs at the end
func LoadNumber ¶
LoadNumber loads a key as a float. Throws error
func LoadStringIfExists ¶
LoadStringIfExists loads a value if its present else returns the same
func ParseGraphqlValue ¶ added in v0.12.0
ParseGraphqlValue returns an interface that can be casted to string
func SingleLeading ¶ added in v0.12.0
SingleLeading ensures that a string s starts with ch, but doesnt end with it
func SingleLeadingTrailing ¶ added in v0.12.0
SingleLeadingTrailing ensures that a string s starts and ends with single occurence of ch
func SingleTrailing ¶ added in v0.12.0
SingleTrailing ensures that a string s ends with ch, but doesnt start with it
func StoreValue ¶ added in v0.15.0
StoreValue -- stores a value in the provided state
func StoreValueInObject ¶ added in v0.15.0
StoreValueInObject -- stores a value in provided object
func UserHomeDir ¶ added in v0.10.0
func UserHomeDir() string
UserHomeDir returns the path of home directory of user
Types ¶
type Array ¶ added in v0.12.0
type Array struct {
// contains filtered or unexported fields
}
Array is an atomic array
type Broker ¶
type Broker string
Broker is the type of broker used by Space Cloud
const ( // Nats is the type used for Nats Nats Broker = "nats" )
type DBType ¶
type DBType string
DBType is the type of database used for a particular crud operation
type DatabaseCollections ¶ added in v0.12.0
type DatabaseCollections struct {
TableName string `db:"table_name" json:"tableName"`
}
DatabaseCollections stores all callections of sql or postgres or mongo
type FieldType ¶ added in v0.12.0
type FieldType struct { FieldName string `db:"Field"` FieldType string `db:"Type"` FieldNull string `db:"Null"` FieldKey string `db:"Key"` FieldDefault string `db:"Default"` FieldExtra string `db:"Extra"` }
FieldType is the type for storing sql inspection information
type FileOpType ¶
type FileOpType string
FileOpType is the type of file operation being performed on the file store
const ( // FileRead is the type used for read operations FileRead FileOpType = "read" // FileCreate is the type used for create operations FileCreate FileOpType = "create" // FileDelete is the type used for delete operations FileDelete FileOpType = "delete" )
type FileStoreType ¶
type FileStoreType string
FileStoreType is the type of file store used
const ( // Local is the type used for the local filesystem Local FileStoreType = "local" // AmazonS3 is the type used for the AmazonS3 storage AmazonS3 FileStoreType = "amazon-s3" // GCPStorage is the type used for the GCP storage GCPStorage FileStoreType = "gcp-storage" )
type ForeignKeysType ¶ added in v0.12.0
type ForeignKeysType struct { TableName string `db:"TABLE_NAME"` ColumnName string `db:"COLUMN_NAME"` ConstraintName string `db:"CONSTRAINT_NAME"` RefTableName string `db:"REFERENCED_TABLE_NAME"` RefColumnName string `db:"REFERENCED_COLUMN_NAME"` }
ForeignKeysType is the type for storing foreignkeys information of sql inspection
type IndexType ¶ added in v0.15.0
type IndexType struct { TableName string `db:"TABLE_NAME"` ColumnName string `db:"COLUMN_NAME"` IndexName string `db:"INDEX_NAME"` Order int `db:"SEQ_IN_INDEX"` Sort string `db:"SORT"` IsUnique string `db:"IS_UNIQUE"` }
IndexType is the type use to indexkey information of sql inspection
type MakeHttpRequest ¶ added in v0.13.0
type Object ¶ added in v0.12.0
type Object struct {
// contains filtered or unexported fields
}
Object is an atomic array
type OperationType ¶
type OperationType string
OperationType is the type of operation being performed on the database
const ( // Create is the type used for insert operations Create OperationType = "create" // Read is the type used for query operation Read OperationType = "read" // Update is the type used ofr update operations Update OperationType = "update" // Delete is the type used for delete operations Delete OperationType = "delete" // Batch is the type used for batch operations Batch OperationType = "batch" // Aggregation is the type used for aggregations Aggregation OperationType = "aggr" )
type OrchestratorType ¶ added in v0.10.0
type OrchestratorType string
OrchestratorType is the type of the orchestrator
const ( // Kubernetes is the type used for a kubernetes deployement Kubernetes OrchestratorType = "kubernetes" )
type RequestKind ¶ added in v0.13.0
type RequestKind string
const ( // RequestKindDirect is used when an http request is to be made directly RequestKindDirect RequestKind = "direct" // RequestKindConsulConnect is used when an http request is to be made via consul connect RequestKindConsulConnect RequestKind = "consul-connect" )