< Summary

Information
Class: Elsa.Persistence.VNext.Builders.PersistenceStorageUnitBuilder
Assembly: Elsa.Persistence.VNext
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.VNext/Builders/PersistenceStorageUnitBuilder.cs
Line coverage
100%
Covered lines: 12
Uncovered lines: 0
Coverable lines: 12
Total lines: 41
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Field(...)100%11100%
RequiredField(...)100%11100%
Key(...)100%11100%
Index(...)100%11100%
Index(...)100%11100%
Build()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.VNext/Builders/PersistenceStorageUnitBuilder.cs

#LineLine coverage
 1namespace Elsa.Persistence.VNext.Builders;
 2
 423public class PersistenceStorageUnitBuilder(string name, string? @namespace)
 4{
 425    private readonly List<PersistenceField> _fields = [];
 426    private readonly List<PersistenceIndex> _indexes = [];
 7    private PersistencePrimaryKey? _key;
 8
 9    public PersistenceStorageUnitBuilder Field(string name, PersistenceColumnType type, bool nullable = true, int? lengt
 10    {
 27911        _fields.Add(new PersistenceField(name, type, nullable, length));
 27912        return this;
 13    }
 14
 15    public PersistenceStorageUnitBuilder RequiredField(string name, PersistenceColumnType type, int? length = null)
 16    {
 22417        return Field(name, type, false, length);
 18    }
 19
 20    public PersistenceStorageUnitBuilder Key(string name, params string[] fields)
 21    {
 4222        _key = new PersistencePrimaryKey(name, fields.ToList());
 4223        return this;
 24    }
 25
 26    public PersistenceStorageUnitBuilder Index(string name, string field, bool unique = false)
 27    {
 8228        return Index(name, [field], unique);
 29    }
 30
 31    public PersistenceStorageUnitBuilder Index(string name, IReadOnlyList<string> fields, bool unique = false)
 32    {
 11933        _indexes.Add(new PersistenceIndex(name, fields.ToList(), unique));
 11934        return this;
 35    }
 36
 37    public PersistenceStorageUnit Build()
 38    {
 4239        return new PersistenceStorageUnit(Name: name, Namespace: @namespace, Fields: _fields.ToList(), Key: _key, Indexe
 40    }
 41}