40 lines
885 B
Go
40 lines
885 B
Go
package storable
|
|
|
|
import (
|
|
"time"
|
|
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
const (
|
|
IDField = "_id"
|
|
PermissionRefField = "permissionRef"
|
|
OrganizationRefField = "organizationRef"
|
|
IsArchivedField = "isArchived"
|
|
UpdatedAtField = "updatedAt"
|
|
)
|
|
|
|
type Base struct {
|
|
ID primitive.ObjectID `bson:"_id" json:"id"`
|
|
CreatedAt time.Time `bson:"createdAt" json:"createdAt"` // Timestamp for when the comment was created
|
|
UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"` // Timestamp for when the comment was last updated (optional)
|
|
}
|
|
|
|
func (b *Base) GetID() *primitive.ObjectID {
|
|
return &b.ID
|
|
}
|
|
|
|
func (b *Base) SetID(objID primitive.ObjectID) {
|
|
b.ID = objID
|
|
b.CreatedAt = time.Now()
|
|
b.UpdatedAt = time.Now()
|
|
}
|
|
|
|
func (b *Base) Update() {
|
|
b.UpdatedAt = time.Now()
|
|
}
|
|
|
|
func (b *Base) Collection() string {
|
|
return "base"
|
|
}
|