feat: add layer definition api
Some checks are pending
Cadoles/bouncer/pipeline/pr-develop Build started...
Cadoles/bouncer/pipeline/head This commit looks good

This commit is contained in:
2024-05-17 15:44:28 +02:00
parent 7456dba96f
commit 449fb69c02
42 changed files with 698 additions and 1270 deletions

View File

@ -25,6 +25,15 @@ func GetLayerOptionsSchema(layerType store.LayerType) (*jsonschema.Schema, error
return schema, nil
}
func GetLayerOptionsRawSchema(layerType store.LayerType) ([]byte, error) {
schema, err := defaultRegistry.GetLayerOptionsRawSchema(layerType)
if err != nil {
return nil, errors.WithStack(err)
}
return schema, nil
}
func GetLayers(ctx context.Context, conf *config.Config) ([]director.Layer, error) {
layers, err := defaultRegistry.GetLayers(ctx, conf)
if err != nil {

View File

@ -28,13 +28,22 @@ func (r *Registry) RegisterLayer(layerType store.LayerType, layerSetup LayerSetu
}
}
func (r *Registry) GetLayerOptionsSchema(layerType store.LayerType) (*schema.Schema, error) {
func (r *Registry) GetLayerOptionsRawSchema(layerType store.LayerType) ([]byte, error) {
layerEntry, exists := r.layers[layerType]
if !exists {
return nil, errors.WithStack(ErrNotFound)
}
schema, err := schema.Parse(layerEntry.rawOptionsSchema)
return layerEntry.rawOptionsSchema, nil
}
func (r *Registry) GetLayerOptionsSchema(layerType store.LayerType) (*schema.Schema, error) {
rawSchema, err := r.GetLayerOptionsRawSchema(layerType)
if err != nil {
return nil, errors.WithStack(err)
}
schema, err := schema.Parse(rawSchema)
if err != nil {
return nil, errors.WithStack(err)
}