utils

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2019 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
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"
)
View Source
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"
)
View Source
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"
)
View Source
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"
)
View Source
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
)
View Source
const (
	// EventCreate is fired for create request
	EventCreate string = "DB_INSERT"

	// EventUpdate is fired for update request
	EventUpdate string = "DB_UPDATE"

	// EventDelete is fired for delete request
	EventDelete string = "DB_DELETE"
)
View Source
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"
)
View Source
const BuildVersion = "0.14.0"

BuildVersion is the current version of Space Cloud

View Source
const DefaultConfigFilePath string = "config.yaml"

DefaultConfigFilePath is the default path to load / store the config file

View Source
const InternalUserID string = "internal-sc-user"

InternalUserID is the auth.id used for internal requests

View Source
const MaxEventTokens int = 100

MaxEventTokens describes the maximum number of event workers

View Source
const (
	// PayloadSize is the size of the payload(in bytes) in file upload and download
	PayloadSize int = 256 * 1024 // 256 kB
)
View Source
const SpaceCloudServiceName string = "space-cloud"

SpaceCloudServiceName is the service name space cloud will register itself with in service discovery mechanisms

Variables

View Source
var ErrDatabaseConfigAbsent = errors.New("No such database found in SC config file")

ErrDatabaseConfigAbsent is thrown when database config is not present

View Source
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

View Source
var ErrDatabaseDisabled = errors.New("Database is disabled. Please enable it")

ErrDatabaseDisabled is thrown when an operation is requested on a disabled database

View Source
var ErrInvalidParams = errors.New("Invalid parameter provided")

ErrInvalidParams is thrown when the input parameters for an operation are invalid

View Source
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

func AcceptableIDType(id interface{}) (string, bool)

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

func CreateCorsObject() *cors.Cors

CreateCorsObject creates a cors object with the required config

func DownloadFileFromURL

func DownloadFileFromURL(url, dest string) error

DownloadFileFromURL downloads a file from url and stores it at a given destination

func GetIDVariable

func GetIDVariable(dbType string) string

GetIDVariable gets the id variable for the provided db type

func GetTokenFromHeader

func GetTokenFromHeader(r *http.Request) string

GetTokenFromHeader returns the token from the request header

func JoinLeading

func JoinLeading(s1 string, s2 string, ch string) string

JoinLeading joins s1 and s2, using ch, and ensures ch occurs at the start

func JoinLeadingTrailing

func JoinLeadingTrailing(s1 string, s2 string, ch string) string

JoinLeadingTrailing joins s1 and s2, using ch, and ensures ch occurs at the start and end

func JoinTrailing

func JoinTrailing(s1 string, s2 string, ch string) string

JoinTrailing joins s1 and s2, using ch, and ensures ch occurs at the end

func LoadBool

func LoadBool(key interface{}, args map[string]interface{}) (bool, error)

LoadBool loads a key as a float. Throws error

func LoadNumber

func LoadNumber(key interface{}, args map[string]interface{}) (float64, error)

LoadNumber loads a key as a float. Throws error

func LoadStringIfExists

func LoadStringIfExists(value string, state map[string]interface{}) string

LoadStringIfExists loads a value if its present else returns the same

func LoadValue

func LoadValue(key string, state map[string]interface{}) (interface{}, error)

LoadValue loads a value from the state

func SingleLeading

func SingleLeading(s string, ch string) string

SingleLeading ensures that a string s starts with ch, but doesnt end with it

func SingleLeadingTrailing

func SingleLeadingTrailing(s string, ch string) string

SingleLeadingTrailing ensures that a string s starts and ends with single occurence of ch

func SingleTrailing

func SingleTrailing(s string, ch string) string

SingleTrailing ensures that a string s ends with ch, but doesnt start with it

func Unzip

func Unzip(src string, dest string) error

Unzip unzips a source file to a given destination

func UserHomeDir

func UserHomeDir() string

UserHomeDir returns the path of home directory of user

func Validate

func Validate(where map[string]interface{}, obj interface{}) bool

Validate checks if the provided document matches with the where clause

Types

type Array

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

Array is an atomic array

func NewArray

func NewArray(length int) *Array

NewArray creates a new array

func (*Array) GetAll

func (a *Array) GetAll() []interface{}

GetAll gets the array

func (*Array) Set

func (a *Array) Set(index int, value interface{})

Set sets an item in the array at a particular index

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

const (
	// Mongo is the type used for MongoDB
	Mongo DBType = "mongo"

	// MySQL is the type used for MySQL
	MySQL DBType = "sql-mysql"

	// Postgres is the type used for PostgresQL
	Postgres DBType = "sql-postgres"

	// SqlServer is the type used for MsSQL
	SqlServer DBType = "sql-sqlserver"
)

type DatabaseCollections

type DatabaseCollections struct {
	TableName string `db:"table_name" json:"tableName"`
}

DatabaseCollections stores all callections of sql or postgres or mongo

type FieldType

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

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 MakeHttpRequest

type MakeHttpRequest func(ctx context.Context, method, url, token string, params, vPtr interface{}) error

type Object

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

Object is an atomic array

func NewObject

func NewObject() *Object

NewObject creates a new atomic object

func (*Object) Get

func (obj *Object) Get(key string) (value interface{}, present bool)

Get gets the value of a key from the object

func (*Object) GetAll

func (obj *Object) GetAll() map[string]interface{}

GetAll returns the entire object

func (*Object) Set

func (obj *Object) Set(key string, value interface{})

Set sets a key in the object with a value

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

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

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"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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