Implement UPPER/LOWER; minor Fixes

This commit is contained in:
Pijus Kamandulis
2024-02-24 20:00:47 +02:00
parent f37c664c1a
commit f356f26d26
12 changed files with 394 additions and 183 deletions

View File

@@ -1,14 +1,15 @@
package repositories
import (
"fmt"
"time"
"github.com/google/uuid"
repositorymodels "github.com/pikami/cosmium/internal/repository_models"
structhidrators "github.com/pikami/cosmium/internal/struct_hidrators"
)
var collections = []repositorymodels.Collection{
{ID: "db1"},
{ID: "db2"},
}
var collections = []repositorymodels.Collection{}
func GetAllCollections(databaseId string) ([]repositorymodels.Collection, repositorymodels.RepositoryStatus) {
dbCollections := make([]repositorymodels.Collection, 0)
@@ -52,6 +53,9 @@ func CreateCollection(databaseId string, newCollection repositorymodels.Collecti
newCollection = structhidrators.Hidrate(newCollection).(repositorymodels.Collection)
newCollection.TimeStamp = time.Now().Unix()
newCollection.UniqueID = uuid.New().String()
newCollection.ETag = fmt.Sprintf("\"%s\"", newCollection.UniqueID)
newCollection.Internals = struct{ DatabaseId string }{
DatabaseId: databaseId,
}

View File

@@ -1,6 +1,12 @@
package repositories
import repositorymodels "github.com/pikami/cosmium/internal/repository_models"
import (
"fmt"
"time"
"github.com/google/uuid"
repositorymodels "github.com/pikami/cosmium/internal/repository_models"
)
var databases = []repositorymodels.Database{
{ID: "db1"},
@@ -39,6 +45,9 @@ func CreateDatabase(newDatabase repositorymodels.Database) repositorymodels.Repo
}
}
newDatabase.TimeStamp = time.Now().Unix()
newDatabase.UniqueID = uuid.New().String()
newDatabase.ETag = fmt.Sprintf("\"%s\"", newDatabase.UniqueID)
databases = append(databases, newDatabase)
return repositorymodels.StatusOk
}

View File

@@ -1,9 +1,12 @@
package repositories
import (
"fmt"
"log"
"strings"
"time"
"github.com/google/uuid"
repositorymodels "github.com/pikami/cosmium/internal/repository_models"
"github.com/pikami/cosmium/parsers"
"github.com/pikami/cosmium/parsers/nosql"
@@ -93,6 +96,9 @@ func CreateDocument(databaseId string, collectionId string, document map[string]
partitionKeyValue = append(partitionKeyValue, val.(string))
}
document["_ts"] = time.Now().Unix()
document["_rid"] = uuid.New().String()
document["_etag"] = fmt.Sprintf("\"%s\"", document["_rid"])
document["_internal"] = map[string]interface{}{
"databaseId": databaseId,
"collectionId": collectionId,

View File

@@ -1,7 +1,10 @@
package repositorymodels
type Database struct {
ID string `json:"id"`
ID string `json:"id"`
TimeStamp int64 `json:"_ts"`
UniqueID string `json:"_rid"`
ETag string `json:"_etag"`
}
type RepositoryStatus int
@@ -17,10 +20,10 @@ type Collection struct {
ID string `json:"id"`
IndexingPolicy CollectionIndexingPolicy `json:"indexingPolicy"`
PartitionKey CollectionPartitionKey `json:"partitionKey"`
Rid string `json:"_rid"`
Ts int `json:"_ts"`
UniqueID string `json:"_rid"`
TimeStamp int64 `json:"_ts"`
Self string `json:"_self"`
Etag string `json:"_etag"`
ETag string `json:"_etag"`
Docs string `json:"_docs"`
Sprocs string `json:"_sprocs"`
Triggers string `json:"_triggers"`

View File

@@ -20,10 +20,10 @@ var defaultCollection repositorymodels.Collection = repositorymodels.Collection{
Kind: "Hash",
Version: 2,
},
Rid: "nFFFFFFFFFF=",
Ts: 0,
UniqueID: "nFFFFFFFFFF=",
TimeStamp: 0,
Self: "",
Etag: "\"00000000-0000-0000-0000-000000000000\"",
ETag: "\"00000000-0000-0000-0000-000000000000\"",
Docs: "docs/",
Sprocs: "sprocs/",
Triggers: "triggers/",