var ddb … func ConnectDynamo() { … } func NewDynamoRecord() *DynamodbRecord { … } type DynamodbRecord … func (u *DynamodbRecord) MarkUpdated() { … } func (u *DynamodbRecord) Changed() bool { … } func (u *DynamodbRecord) ResetChange() { … } func (u *DynamodbRecord) LockRecordForRead() sync.Locker { … } func (u *DynamodbRecord) LockRecordForWrite() sync.Locker { … } func ToDynamoRecord(record interface{ … } func StoreDynamoRecord(ctx context.Context, m map[string]types.AttributeValue, tableName string) (err error) { … } func GetDynamoRecord(ctx context.Context, key map[string]string, tableName string) (item map[string]types.AttributeValue, err error) { … } func FetchAllRecords(ctx context.Context, tablename string) (items []map[string]types.AttributeValue, err error) { … }