graphify

package module
v0.4.45 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2025 License: Unlicense Imports: 45 Imported by: 1

README

graphify

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdminFromContext added in v0.0.11

func AdminFromContext(ctx context.Context) (value *accountv1.Admin, found bool)

AdminFromContext ...

func ContextWithAdmin added in v0.0.11

func ContextWithAdmin(parent context.Context, admin *accountv1.Admin) context.Context

ContextWithAdmin ...

func ExposeNodes added in v0.4.3

func ExposeNodes(nodes ...any) exposedNodes

ExposeNodes ...

func Filter added in v0.4.6

func Filter(keyValues ...interface{}) *bindVars

Filter ...

func GenerateRandomPassword added in v0.4.6

func GenerateRandomPassword() string

generateRandomPassword generates a random password with the following requirements: Password Length: 16 Include Alpha Upper (A-Z): true Include Alpha Lower (a-z): true Include Number (0-9): true

func Map added in v0.4.39

func Map[T any](size int, fn func(int) T) (result []T)

Map converts a slice of values to a slice of values using a function

func Mutation added in v0.1.0

func Mutation[Arg interfaces.GraphqlArgument, Out interfaces.GraphqlOutput](fn func(context.Context, Arg) (Out, error)) mutation

Mutation ...

func NewConnection

func NewConnection(ctx context.Context, conf ConnectionConfig) *connection

NewConnection ...

func NewDbFileStorage added in v0.4.33

func NewDbFileStorage(access Access) *dbFileStorage

NewDbFileStorage ...

func NewFilesystemStorage added in v0.0.6

func NewFilesystemStorage(params FilesystemStorageConfig) *filesystemStorage

NewFilesystemStorage ...

func NewGraph

func NewGraph() *graph

NewGraph ...

func NewObserver

func NewObserver[T comparable]() *observer[T]

NewObserver ...

func Pure added in v0.4.6

func Pure[T any](v T) (result T)

Pure converts a value to a pure JSON value

func Query added in v0.1.0

func Query[Arg interfaces.GraphqlArgument, Out interfaces.GraphqlOutput](fn func(context.Context, Arg) (Out, error)) query

Query ...

func QueryJoin added in v0.4.43

func QueryJoin(parts ...string) string

QueryJoin joins a slice of strings with a space

func Quote added in v0.4.43

func Quote(s string) string

Quote ...

func RegisterAdmin added in v0.4.36

func RegisterAdmin(ctx context.Context, access Access, req *dashboardv1.CreateAccountRequest) (err error)

func ToMap added in v0.4.6

func ToMap(v any) (result map[string]any)

ToMap converts a value to a map[string]any

Types

type Access added in v0.4.43

type Access interface {
	// AutoMigrate ...
	AutoMigrate(ctx context.Context, graph Graph) error

	// Collection ...
	Collection(ctx context.Context, elem any, callbacks ...CollectionCallback) error

	// Query returns a list of elements
	Query(ctx context.Context, query string, bindVars map[string]any, out any) error

	// Fetch returns a single element
	Fetch(ctx context.Context, query string, bindVars map[string]any, out any) error

	// List ...
	List(ctx context.Context, bindVars Vars, out any) (int64, error)

	// Find ...
	Find(ctx context.Context, bindVars Vars, out any) error

	// Read ...
	Read(ctx context.Context, key string, out any) error

	// Create ...
	Create(ctx context.Context, val any) ([]string, error)

	// Update ...
	Update(ctx context.Context, key string, item any) error

	// Replace ...
	Replace(ctx context.Context, key string, item any) error

	// Delete ...
	Delete(ctx context.Context, item any) error

	// Relations ...
	Relations(ctx context.Context, id string, bindVars Vars, direction Direction, out any) (int64, error)
}

Access ...

type AdminHandler added in v0.4.3

AdminHandler ...

func NewAdminHandler added in v0.4.3

func NewAdminHandler(ctx context.Context, config AdminHandlerConfig, params AdminHandlerParams) *AdminHandler

NewAdminHandler ...

func (*AdminHandler) CreateAccount added in v0.4.6

func (*AdminHandler) CreateResource added in v0.4.6

func (*AdminHandler) DeleteResource added in v0.4.6

func (*AdminHandler) FilesDownloadHandler added in v0.4.6

func (h *AdminHandler) FilesDownloadHandler(w http.ResponseWriter, r *http.Request, pathParams map[string]string)

func (*AdminHandler) FilesUploadHandler added in v0.4.6

func (h *AdminHandler) FilesUploadHandler(w http.ResponseWriter, r *http.Request, _ map[string]string)

func (*AdminHandler) GetAccount added in v0.4.6

func (*AdminHandler) GetResource added in v0.4.6

func (*AdminHandler) GetResourceRelation added in v0.4.6

func (*AdminHandler) GetSchema added in v0.4.6

func (*AdminHandler) Handler added in v0.4.3

func (h *AdminHandler) Handler(ctx context.Context) http.Handler

func (*AdminHandler) ListResources added in v0.4.6

func (*AdminHandler) Login added in v0.4.6

func (*AdminHandler) UpdateResource added in v0.4.6

type AdminHandlerConfig added in v0.4.3

type AdminHandlerConfig struct {
	Secret []byte
}

AdminHandlerConfig ...

type AdminHandlerParams added in v0.4.3

type AdminHandlerParams struct {
	fx.In

	Access   Access
	Graph    Graph
	Storage  FileStorage
	Observer Observer[Topic]
}

AdminHandlerParams ...

type ApplicationConfig added in v0.0.9

type ApplicationConfig struct {
	// Name ...
	Name string `json:"name"`
	// Domain ...
	Domain string `json:"domain"`
	Logo string `json:"logo"`
}

ApplicationConfig ...

type ArangoAccess added in v0.4.3

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

func NewArangoAccess added in v0.4.3

func NewArangoAccess(conn Connection, observer Observer[Topic]) *ArangoAccess

func (*ArangoAccess) AutoMigrate added in v0.4.3

func (e *ArangoAccess) AutoMigrate(ctx context.Context, graph Graph) error

AutoMigrate ...

func (*ArangoAccess) Collection added in v0.4.3

func (e *ArangoAccess) Collection(ctx context.Context, elem any, callbacks ...CollectionCallback) (err error)

Collection ...

func (*ArangoAccess) Create added in v0.4.3

func (e *ArangoAccess) Create(ctx context.Context, val any) ([]string, error)

Create ...

func (*ArangoAccess) Delete added in v0.4.3

func (e *ArangoAccess) Delete(ctx context.Context, item any) error

Delete ...

func (*ArangoAccess) Fetch added in v0.4.43

func (e *ArangoAccess) Fetch(ctx context.Context, query string, bindVars map[string]any, out any) error

Fetch ...

func (*ArangoAccess) Find added in v0.4.3

func (e *ArangoAccess) Find(ctx context.Context, bindVars Vars, out any) error

Find ...

func (*ArangoAccess) List added in v0.4.3

func (e *ArangoAccess) List(ctx context.Context, bindVars Vars, out any) (int64, error)

List ...

func (*ArangoAccess) Query added in v0.4.43

func (e *ArangoAccess) Query(ctx context.Context, query string, bindVars map[string]any, out any) error

Query ...

func (*ArangoAccess) Read added in v0.4.3

func (e *ArangoAccess) Read(ctx context.Context, key string, out any) error

Read ...

func (*ArangoAccess) Relations added in v0.4.3

func (e *ArangoAccess) Relations(ctx context.Context, id string, bindVars Vars, direction Direction, out any) (int64, error)

Relations ...

func (*ArangoAccess) Replace added in v0.4.3

func (e *ArangoAccess) Replace(ctx context.Context, key string, item any) error

Replace ...

func (*ArangoAccess) Update added in v0.4.3

func (e *ArangoAccess) Update(ctx context.Context, key string, item any) error

Update ...

type CollectionCallback added in v0.4.3

type CollectionCallback func(context.Context, driver.Collection)

CollectionCallback ...

type Connection added in v0.4.43

type Connection interface {
	// Database ...
	Database(ctx context.Context) (driver.Database, error)
	// Collection ...
	Collection(ctx context.Context, elem any) (driver.Collection, error)
	// Reflect ...
	Reflect(ctx context.Context, elem reflect.Type) (driver.Collection, error)
}

Connection ...

type ConnectionConfig added in v0.4.3

type ConnectionConfig struct {
	// DBName ...
	DBName string
	// UserName ...
	UserName string
	// Password ...
	Password string
	// Connection ...
	Connection http.ConnectionConfig
}

ConnectionConfig ...

type Direction added in v0.0.12

type Direction string
const (
	DirectionInbound  Direction = "INBOUND"
	DirectionOutbound Direction = "OUTBOUND"
	DirectionAny      Direction = "ANY"
)

type Empty added in v0.4.3

type Empty struct{}

Empty is ignored from graphql input

func (*Empty) Argument added in v0.4.3

func (*Empty) Argument() graphql.FieldConfigArgument

type Event

type Event[T comparable] struct {
	// Topic ...
	Topic T
	// Payload ...
	Payload protoreflect.ProtoMessage
	// Timestamp ...
	Timestamp time.Time
}

Event ...

type FileStorage added in v0.4.43

type FileStorage interface {
	// StoreFile ...
	StoreFile(name string, file []byte) (err error)

	// StoreByHash ...
	StoreByHash(file []byte) (hash string, err error)

	// ReadFile ...
	ReadFile(name string) (fileContent []byte, errr error)

	// MaxMemory ...
	MaxMemory() int
}

FileStorage ...

type FilesystemStorageConfig added in v0.4.3

type FilesystemStorageConfig struct {
	// BasePath ...
	BasePath string
	// MaxMemory ...
	MaxMemory int
}

FilesystemStorageConfig ...

type Graph added in v0.4.3

type Graph interface {
	// Node ...
	Node(node any)
	// Edge ...
	Edge(from, to, edge any)

	// Nodes ...
	Nodes() []reflect.Type
	// Edges ...
	Edges() []reflect.Type
	// Relation ...
	Relation(edge reflect.Type) *Relation

	// CollectionFor ...
	CollectionFor(elem reflect.Type) string
	// TypeOf ...
	TypeOf(name string) reflect.Type
}

Graph ...

type GraphqlHandler added in v0.4.3

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

GraphqlHandler ...

func NewGraphqlHandler added in v0.4.3

func NewGraphqlHandler(access Access, graph Graph) *GraphqlHandler

NewGraphqlHandler ...

func (*GraphqlHandler) Handle added in v0.4.8

func (e *GraphqlHandler) Handle(ctx context.Context, handlers ...interface{}) *handler.Handler

Handle ...

type Observer

type Observer[T comparable] interface {
	// Subscribe ...
	Subscribe(t T, p Processor[T]) SourceID
	// Unsubscribe ...
	Unsubscribe(s SourceID)
	// Emit ...
	Emit(e *Event[T]) error
}

Observer ...

type Processor

type Processor[T comparable] func(e *Event[T]) error

Processor ...

type Relation added in v0.4.3

type Relation struct {
	From reflect.Type `json:"_from"`
	To   reflect.Type `json:"_to"`
}

Relation

type SourceID

type SourceID int64

SourceID ...

type Topic

type Topic string
var (
	CreatedTopic  Topic = "created"
	UpdatedTopic  Topic = "updated"
	ReplacedTopic Topic = "replaced"
	DeletedTopic  Topic = "deleted"
)
var (
	AdminCreatedTopic  Topic = "admin_created"
	AdminReplacedTopic Topic = "admin_replaced"
	AdminDeletedTopic  Topic = "admin_deleted"
)

func (Topic) For added in v0.0.2

func (t Topic) For(elem any) Topic

type Vars added in v0.4.3

type Vars interface {
	// Limit ...
	Limit() string

	// Filters ...
	Filters() string

	// Values ...
	Values() map[string]interface{}
}

Vars ...

Directories

Path Synopsis
cmd
pkg
dashboard/domain/authentication/v1
Package authenticationv1 is a reverse proxy.
Package authenticationv1 is a reverse proxy.
dashboard/domain/dashboard/v1
Package dashboardv1 is a reverse proxy.
Package dashboardv1 is a reverse proxy.

Jump to

Keyboard shortcuts

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