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

Method ReadEntityDefinition

internal/storage/memory/schema_reader.go:72–96  ·  view source on GitHub ↗

ReadEntityDefinition - Reads a Entity Definition from repository

(_ context.Context, tenantID, entityName, version string)

Source from the content-addressed store, hash-verified

70
71// ReadEntityDefinition - Reads a Entity Definition from repository
72func (r *SchemaReader) ReadEntityDefinition(_ context.Context, tenantID, entityName, version string) (definition *base.EntityDefinition, v string, err error) {
73 txn := r.database.DB.Txn(false)
74 defer txn.Abort()
75 var raw interface{}
76 raw, err = txn.First(constants.SchemaDefinitionsTable, "id", tenantID, entityName, version) // Query entity definition
77 if err != nil {
78 return nil, "", errors.New(base.ErrorCode_ERROR_CODE_EXECUTION.String())
79 }
80
81 def, ok := raw.(storage.SchemaDefinition)
82 if ok {
83 var sch *base.SchemaDefinition
84 sch, err = schema.NewSchemaFromStringDefinitions(false, def.Serialized())
85 if err != nil {
86 return nil, "", err
87 }
88 definition, err = schema.GetEntityByName(sch, entityName)
89 if err != nil {
90 return nil, "", err
91 }
92 return definition, def.Version, err
93 }
94
95 return nil, "", errors.New(base.ErrorCode_ERROR_CODE_SCHEMA_NOT_FOUND.String())
96}
97
98// ReadRuleDefinition - Reads a Rule Definition from repository
99func (r *SchemaReader) ReadRuleDefinition(_ context.Context, tenantID, ruleName, version string) (definition *base.RuleDefinition, v 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

GetEntityByNameFunction · 0.92
SerializedMethod · 0.80
StringMethod · 0.65

Tested by

no test coverage detected