Documentation ¶
Overview ¶
Package entity Entity interface and base entity for all persistent model entities
Index ¶
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 (10 characters) based on Epoch micro-seconds in base 36
Types ¶
type BaseEntity ¶
type BaseEntity struct { Id string `json:"id"` // Unique object Id Key string `json:"key"` // Shard (tenant) key 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) 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 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