pgsql

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2020 License: AGPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Migrations = migrate.MemoryMigrationSource{
	Migrations: []*migrate.Migration{
		{
			Id:   "1",
			Up:   []string{migration1up},
			Down: []string{migration1down},
		},
		{
			Id:   "2",
			Up:   []string{migration2up},
			Down: []string{migration2down},
		},
		{
			Id:   "3",
			Up:   []string{migration3up},
			Down: []string{migration3down},
		},
	},
}

Migrations available

Functions

func Migrator added in v0.6.1

func Migrator(action string, db database.Database) error

func StringToOriginArray

func StringToOriginArray(s []string) ([]types.Origin, error)

func ToEntity

func ToEntity(x *PGEntity) (*types.Entity, error)

func ToMember

func ToMember(x *PGMember) *types.Member

func ToOriginArray

func ToOriginArray(p pgtype.EnumArray) ([]types.Origin, error)

func ToPGOriginArray

func ToPGOriginArray(x []types.Origin) (*pgtype.EnumArray, error)

Types

type Database

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

func New

func New(dbc *config.DB) (*Database, error)

New creates a new postgres SQL database connection

func (*Database) AddCensus

func (d *Database) AddCensus(entityID, censusID []byte, targetID *uuid.UUID, info *types.CensusInfo) error

func (*Database) AddCensusWithMembers

func (d *Database) AddCensusWithMembers(entityID, censusID []byte, targetID *uuid.UUID, info *types.CensusInfo) (int64, error)

func (*Database) AddEntity

func (d *Database) AddEntity(entityID []byte, info *types.EntityInfo) error

func (*Database) AddMember

func (d *Database) AddMember(entityID []byte, pubKey []byte, info *types.MemberInfo) (uuid.UUID, error)

func (*Database) AddMemberBulk

func (d *Database) AddMemberBulk(entityID []byte, members []types.Member) error

func (*Database) AddTag added in v0.6.2

func (d *Database) AddTag(entityID []byte, tagName string) (int32, error)

func (*Database) AddTagToMembers added in v0.6.2

func (d *Database) AddTagToMembers(entityID []byte, members []uuid.UUID, tagID int32) (int, []uuid.UUID, error)

func (*Database) AddTarget

func (d *Database) AddTarget(entityID []byte, target *types.Target) (uuid.UUID, error)

func (*Database) AddUser

func (d *Database) AddUser(user *types.User) error

func (*Database) AuthorizeEntity

func (d *Database) AuthorizeEntity(entityID []byte) error

func (*Database) Census

func (d *Database) Census(entityID, censusID []byte) (*types.Census, error)

func (*Database) Close

func (d *Database) Close() error

func (*Database) CountCensus

func (d *Database) CountCensus(entityID []byte) (int, error)

func (*Database) CountMembers

func (d *Database) CountMembers(entityID []byte) (int, error)

func (*Database) CountTargets

func (d *Database) CountTargets(entityID []byte) (int, error)

func (*Database) CreateMembersWithTokens

func (d *Database) CreateMembersWithTokens(entityID []byte, tokens []uuid.UUID) error

func (*Database) CreateNMembers

func (d *Database) CreateNMembers(entityID []byte, n int) ([]uuid.UUID, error)

Store N new Members associated to the Entity and return their Tokens

func (*Database) DeleteCensus added in v0.5.1

func (d *Database) DeleteCensus(entityID []byte, censusID []byte) error

func (*Database) DeleteMember

func (d *Database) DeleteMember(entityID []byte, memberID *uuid.UUID) error

func (*Database) DeleteMembers added in v0.6.2

func (d *Database) DeleteMembers(entityID []byte, members []uuid.UUID) (int, []uuid.UUID, error)

func (*Database) DeleteTag added in v0.6.2

func (d *Database) DeleteTag(entityID []byte, tagID int32) error

func (*Database) DumpClaims

func (d *Database) DumpClaims(entityID []byte) ([][]byte, error)

func (*Database) EntitiesID added in v0.6.1

func (d *Database) EntitiesID() ([]string, error)

EntitiesID returns all the entities ID's

func (*Database) Entity

func (d *Database) Entity(entityID []byte) (*types.Entity, error)

func (*Database) EntityHas

func (d *Database) EntityHas(entityID []byte, memberID *uuid.UUID) bool

func (*Database) EntityOrigins

func (d *Database) EntityOrigins(entityID []byte) ([]types.Origin, error)

func (*Database) ImportMembers

func (d *Database) ImportMembers(entityID []byte, info []types.MemberInfo) error

func (*Database) ImportMembersWithPubKey added in v0.5.1

func (d *Database) ImportMembersWithPubKey(entityID []byte, info []types.MemberInfo) error

func (*Database) ListCensus

func (d *Database) ListCensus(entityID []byte, filter *types.ListOptions) ([]types.Census, error)

func (*Database) ListMembers

func (d *Database) ListMembers(entityID []byte, filter *types.ListOptions) ([]types.Member, error)

func (*Database) ListTags added in v0.6.2

func (d *Database) ListTags(entityID []byte) ([]types.Tag, error)

func (*Database) ListTargets

func (d *Database) ListTargets(entityID []byte) ([]types.Target, error)

func (*Database) Member

func (d *Database) Member(entityID []byte, memberID *uuid.UUID) (*types.Member, error)

func (*Database) MemberPubKey

func (d *Database) MemberPubKey(entityID, pubKey []byte) (*types.Member, error)

func (*Database) Members added in v0.6.2

func (d *Database) Members(entityID []byte, memberIDs []uuid.UUID) ([]types.Member, []uuid.UUID, error)

func (*Database) MembersTokensEmails

func (d *Database) MembersTokensEmails(entityID []byte) ([]types.Member, error)

func (*Database) Migrate

func (d *Database) Migrate(dir migrate.MigrationDirection) (int, error)

Migrate performs a concrete migration (up or down)

func (*Database) MigrateStatus

func (d *Database) MigrateStatus() (int, int, string, error)

Migrate returns the total and applied number of migrations, as well a string describing the perform migrations

func (*Database) MigrationUpSync

func (d *Database) MigrationUpSync() (int, error)

MigrationUpSync performs the missing up migrations in order to reach to highest migration available in migrations.go

func (*Database) Ping

func (d *Database) Ping() error

func (*Database) RegisterMember

func (d *Database) RegisterMember(entityID, pubKey []byte, token *uuid.UUID) error

Register member to existing ID and generates corresponding user

func (*Database) RemoveTagFromMembers added in v0.6.2

func (d *Database) RemoveTagFromMembers(entityID []byte, members []uuid.UUID, tagID int32) (int, []uuid.UUID, error)

func (*Database) Tag added in v0.6.2

func (d *Database) Tag(entityID []byte, tagID int32) (*types.Tag, error)

func (*Database) TagByName added in v0.6.2

func (d *Database) TagByName(entityID []byte, tagName string) (*types.Tag, error)

func (*Database) Target

func (d *Database) Target(entityID []byte, targetID *uuid.UUID) (*types.Target, error)

func (*Database) TargetMembers

func (d *Database) TargetMembers(entityID []byte, targetID *uuid.UUID) ([]types.Member, error)

func (*Database) UpdateEntity

func (d *Database) UpdateEntity(entityID []byte, info *types.EntityInfo) error

func (*Database) UpdateMember

func (d *Database) UpdateMember(entityID []byte, memberID *uuid.UUID, info *types.MemberInfo) error

func (*Database) User

func (d *Database) User(pubKey []byte) (*types.User, error)

type OrderBySQLi added in v0.5.1

type OrderBySQLi int
const (
	DateOfBirth OrderBySQLi = iota
	Email
	FirstName
	LastName
	Phone
	StreetAddress
	Consented
	Verified
	Origin
	CustomFields
	Name
	MerkleRoot
	MerkleTreeURI
	Size
	CreatedAt
	UpdatedAt
)

func ToOrderBySQLi added in v0.5.1

func ToOrderBySQLi(orderBy string) OrderBySQLi

func (OrderBySQLi) String added in v0.5.1

func (i OrderBySQLi) String() string

type PGEntity

type PGEntity struct {
	types.Entity
	CensusManagersAddresses pgtype.ByteaArray `json:"censusManagersAddresses" db:"pg_census_managers_addresses"`
	Origins                 pgtype.EnumArray  `db:"origins"`
}

func ToPGEntity

func ToPGEntity(x *types.Entity) (*PGEntity, error)

type PGMember

type PGMember struct {
	types.Member
	CustomFields pgtype.JSONB     `json:"customFields" db:"pg_custom_fields"`
	Tags         pgtype.Int4Array `json:"tags" db:"pg_tags"`
}

func ToPGMember

func ToPGMember(x *types.Member) (*PGMember, error)

Jump to

Keyboard shortcuts

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