flagsetting

package
v0.0.0-...-0874bd6 Latest Latest
Warning

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

Go to latest
Published: May 20, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCouldNotSave = status.Error(
	codes.Internal,
	"could not save flag settings",
)

ErrCouldNotSave is a GRPC error that is returned when an unknown error occurs while saving flag settings.

View Source
var ErrStatusUpdate = status.Error(
	codes.Internal,
	"error occurred while updating the flag setting",
)

ErrStatusUpdate is a GRPC error that is returned when an error occurs while updating the flag settings status.

Functions

This section is empty.

Types

type DataRepository

type DataRepository interface {
	// Save creates a new `FlagSetting`.
	Save(
		ctx context.Context,
		flagSetting *FlagSetting,
	) (*mongo.InsertOneResult, error)

	// SaveMany creates multiple `FlagSetting`s.
	SaveMany(
		ctx context.Context,
		flagSettings []FlagSetting,
	) (*mongo.InsertManyResult, error)

	// Get gets the flag setting by the project ID, environment ID and the
	// flag ID.
	Get(
		ctx context.Context,
		projectID primitive.ObjectID,
		environmentID primitive.ObjectID,
		flagID primitive.ObjectID,
	) (*FlagSetting, error)

	// UpdateIsActive updates a flag setting's `IsActive` field to the provided
	// value.
	UpdateIsActive(
		ctx context.Context,
		projectID primitive.ObjectID,
		environmentID primitive.ObjectID,
		flagID primitive.ObjectID,
		isActive bool,
	) (*mongo.UpdateResult, error)
}

type FlagSetting

type FlagSetting struct {
	ID            primitive.ObjectID `bson:"_id,omitempty"`
	ProjectID     primitive.ObjectID `bson:"project_id"`
	EnvironmentID primitive.ObjectID `bson:"environment_id"`
	FlagID        primitive.ObjectID `bson:"flag_id"`
	IsActive      bool               `bson:"is_active"`
	CreatedAt     time.Time          `bson:"created_at"`
	UpdatedAt     time.Time          `bson:"updated_at"`
}

type MongoDataRepository

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

func NewFlagSettingRepository

func NewFlagSettingRepository(
	ctx context.Context,
	db *mongo.Database,
) (*MongoDataRepository, error)

NewFlagSettingRepository creates a new repository that implements the `flagsetting.FlagSettingRepository` interface.

func (*MongoDataRepository) Get

func (r *MongoDataRepository) Get(
	ctx context.Context,
	projectID primitive.ObjectID,
	environmentID primitive.ObjectID,
	flagID primitive.ObjectID,
) (*FlagSetting, error)

func (*MongoDataRepository) Save

func (r *MongoDataRepository) Save(
	ctx context.Context,
	flagSetting *FlagSetting,
) (*mongo.InsertOneResult, error)

func (*MongoDataRepository) SaveMany

func (r *MongoDataRepository) SaveMany(
	ctx context.Context,
	flagSettings []FlagSetting,
) (*mongo.InsertManyResult, error)

func (*MongoDataRepository) UpdateIsActive

func (r *MongoDataRepository) UpdateIsActive(
	ctx context.Context,
	projectID primitive.ObjectID,
	environmentID primitive.ObjectID,
	flagID primitive.ObjectID,
	isActive bool,
) (*mongo.UpdateResult, error)

Jump to

Keyboard shortcuts

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