sdk

module
v1.0.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2025 License: MIT

README

sdk

Reusable utilities written in Go for seamless integration with microservices built on the Flash Framework. Designed to accelerate development, promote consistency, and simplify communication between distributed services.

config

Create config
package main

import "github.com/flash-go/sdk/config"

func main() {
	// Create state service
	stateService := {...}

	// Set service name
	serviceName := "name"

	// Create config
	cfg := config.New(stateService, serviceName)
}
Get string value by key
package main

func main() {
	// Create config
	cfg := {...}

    // Get string value by key
    value := cfg.Get("host")
}
Get int value by key
package main

func main() {
	// Create config
	cfg := {...}

    // Get int value by key
    value := cfg.GetInt("host")
}
Set value by key
package main

func main() {
	// Create config
	cfg := {...}

    // Set value by key
    err := cfg.Set("key", "value")
}

errors

Types
Type Message
ErrBadRequest bad_request
ErrUnauthorized unauthorized
ErrForbidden forbidden
Create error
package main

import "github.com/flash-go/sdk/errors"

func main() {
	// Create error
    err := errors.New(errors.ErrUnauthorized, "invalid_credentials")
}

infra

Create Postgres client
package main

import "github.com/flash-go/sdk/infra"

func main() {
    // Create config
	cfg := {...}

	// Create postgres client
	postgresClient := infra.NewPostgresClient(
		&infra.PostgresClientConfig{
			Cfg:        cfg,
			Telemetry:  nil,
			Migrations: nil,
		},
	)
}
Create Redis client
package main

import "github.com/flash-go/sdk/infra"

func main() {
    // Create config
	cfg := {...}

	// Create redis client
	redisClient := infra.NewRedisClient(
		&infra.RedisClientConfig{
			Cfg:       cfg,
			Telemetry: nil,
		},
	)
}

logger

Create console logger
package main

import "github.com/flash-go/sdk/logger"

func main() {
    // Create logger service
	loggerService := logger.NewConsole()
}

state

Create state service
package main

import "github.com/flash-go/sdk/state"

func main() {
    // Set service name
    serviceName := "name"

    // Create state service
	stateService := state.New(serviceName)
}

telemetry

Create gRPC telemetry service
package main

import "github.com/flash-go/sdk/telemetry"

func main() {
    // Set service name
    serviceName := "name"

    // OTEL collector gRPC endpoint
    endpoint := "localhost:4317"

    // Create telemetry service
	telemetryService := telemetry.NewGrpc(
		serviceName,
		endpoint,
	)
}

services

users

Create JWT key

package main

import "github.com/flash-go/sdk/services/users"

func main() {
    // Key size
    size := 64

    // Create key
	key := users.NewJwtKey(size)
}

Directories

Path Synopsis
services

Jump to

Keyboard shortcuts

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