service backend
All checks were successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful

This commit is contained in:
Stephan D
2025-11-07 18:35:26 +01:00
parent 20e8f9acc4
commit 62a6631b9a
537 changed files with 48453 additions and 0 deletions

39
api/pkg/db/storable/id.go Normal file
View File

@@ -0,0 +1,39 @@
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"
}

View File

@@ -0,0 +1,11 @@
package storable
import "go.mongodb.org/mongo-driver/bson/primitive"
const (
RefField = "ref"
)
type Ref struct {
Ref primitive.ObjectID `bson:"ref" json:"ref"`
}

View File

@@ -0,0 +1,10 @@
package storable
import "go.mongodb.org/mongo-driver/bson/primitive"
type Storable interface {
GetID() *primitive.ObjectID
SetID(objID primitive.ObjectID)
Update()
Collection() string
}