MCPcopy Create free account
hub / github.com/Permify/permify / ReadSchema

Method ReadSchema

internal/storage/memory/schema_reader.go:32–52  ·  view source on GitHub ↗

ReadSchema - Reads a new schema from repository

(_ context.Context, tenantID, version string)

Source from the content-addressed store, hash-verified

30
31// ReadSchema - Reads a new schema from repository
32func (r *SchemaReader) ReadSchema(_ context.Context, tenantID, version string) (sch *base.SchemaDefinition, err error) {
33 txn := r.database.DB.Txn(false)
34 defer txn.Abort()
35 var it memdb.ResultIterator
36 it, err = txn.Get(constants.SchemaDefinitionsTable, "version", tenantID, version) // Query schema by version
37 if err != nil {
38 return sch, errors.New(base.ErrorCode_ERROR_CODE_EXECUTION.String())
39 }
40
41 var definitions []string
42 for obj := it.Next(); obj != nil; obj = it.Next() {
43 definitions = append(definitions, obj.(storage.SchemaDefinition).Serialized())
44 }
45
46 sch, err = schema.NewSchemaFromStringDefinitions(false, definitions...)
47 if err != nil {
48 return nil, err
49 }
50
51 return sch, nil
52}
53
54// ReadSchemaString returns the schema definition for a specific tenant and version as a string.
55func (r *SchemaReader) ReadSchemaString(_ context.Context, tenantID, version string) (definitions []string, err error) {

Callers

nothing calls this directly

Implementers 7

NoopSchemaReaderinternal/storage/storage.go
SchemaReaderinternal/storage/proxies/cache/schema_
SchemaReaderinternal/storage/proxies/circuitbreake
SchemaReaderinternal/storage/proxies/singleflight/
SchemaReaderinternal/storage/postgres/schema_reade
SchemaReaderinternal/storage/memory/schema_reader.
mockSchemaReaderinternal/engines/lookup_test.go

Calls 4

SerializedMethod · 0.80
GetMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected