Documentation ¶
Overview ¶
Package entity Entity interface and base entity for all persistent model entities
Index ¶
- func EntityIndex(entity Entity, tenantId string) string
- func GUID() string
- func ID() string
- func IDN() string
- func NanoID() string
- func ShortID(delta ...int) string
- func ShortIDN(delta ...int) string
- type BaseEntity
- type Entity
- type EntityAction
- type EntityFactory
- type Json
- type JsonDoc
- type TimeFrame
- type Timestamp
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EntityIndex ¶
EntityIndex extract table or index name from entity.TABLE()
func ID ¶ added in v1.1.2
func ID() string
ID return a long string (alphanumeric) based on Epoch micro-seconds in base 36
func IDN ¶ added in v1.2.21
func IDN() string
IDN return a long string (digits only) based on Epoch micro-seconds
func NanoID ¶ added in v1.1.2
func NanoID() string
NanoID return a long string (6 characters) based on go-nanoid project (smaller and faster than GUID)
Types ¶
type BaseEntity ¶
type BaseEntity struct { Id string `json:"id"` // Unique object Id CreatedOn Timestamp `json:"createdOn"` // When the object was created [Epoch milliseconds Timestamp] UpdatedOn Timestamp `json:"updatedOn"` // When the object was last updated [Epoch milliseconds Timestamp] }
BaseEntity is a base structure for any concrete Entity
func (BaseEntity) ID ¶
func (e BaseEntity) ID() string
func (BaseEntity) KEY ¶
func (e BaseEntity) KEY() string
func (BaseEntity) NAME ¶
func (e BaseEntity) NAME() string
func (BaseEntity) TABLE ¶
func (e BaseEntity) TABLE() string
type Entity ¶
type Entity interface { // ID return the entity unique Id ID() string // TABLE return the entity table name (for sharded entities, table name include the suffix of the tenant id) TABLE() string // NAME return the entity name NAME() string // KEY return the entity sharding key (tenant/account id) based on one of the entity's attributes KEY() string }
Entity is a marker interface for all serialized domain model entities with identity
type EntityAction ¶
type EntityAction int
const ( AddEntity EntityAction = 1 UpdateEntity EntityAction = 2 DeleteEntity EntityAction = 3 )
type EntityFactory ¶
type EntityFactory func() Entity
EntityFactory is the factory method signature for Entity
type JsonDoc ¶
JsonDoc is a Json document to store in Document object store (Postgres, ElasticSearch, Couchbase ...)
type TimeFrame ¶ added in v1.2.26
TimeFrame represents a slot in time
func GetTimeFrame ¶ added in v1.2.26
GetTimeFrame return new time slot using start and duration
func NewTimeFrame ¶ added in v1.2.26
NewTimeFrame return new time slot using start and end time
type Timestamp ¶
type Timestamp int64
Timestamp represents Epoch milliseconds timestamp
func EpochNowMillis ¶
EpochNowMillis return current time as Epoch time milliseconds with delta in millis
func Now ¶
func Now() Timestamp
Now return current time as Epoch time milliseconds with delta in millis
func (*Timestamp) LocalString ¶ added in v1.2.15
LocalString convert Epoch milliseconds timestamp with timezone (IANA) to readable string