github.com/TBD54566975/ftl@v0.219.0/internal/modulecontext/from_proto.go (about) 1 package modulecontext 2 3 import ( 4 "fmt" 5 6 ftlv1 "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1" 7 ) 8 9 func FromProto(response *ftlv1.ModuleContextResponse) (ModuleContext, error) { 10 databases := map[string]Database{} 11 for name, entry := range response.Databases { 12 db, err := NewDatabase(DBType(entry.Type), entry.Dsn) 13 if err != nil { 14 return ModuleContext{}, fmt.Errorf("could not create database %q with DSN %q: %w", name, entry.Dsn, err) 15 } 16 databases[entry.Name] = db 17 } 18 return NewBuilder(response.Module).AddConfigs(response.Configs).AddSecrets(response.Secrets).AddDatabases(databases).Build(), nil 19 }