• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

HicServices / RDMP / 6237307473

19 Sep 2023 04:02PM UTC coverage: 57.015% (-0.4%) from 57.44%
6237307473

push

github

web-flow
Feature/rc4 (#1570)

* Syntax tidying
* Dependency updates
* Event handling singletons (ThrowImmediately and co)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: James A Sutherland <>
Co-authored-by: James Friel <jfriel001@dundee.ac.uk>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

10734 of 20259 branches covered (0.0%)

Branch coverage included in aggregate %.

5922 of 5922 new or added lines in 565 files covered. (100.0%)

30687 of 52390 relevant lines covered (58.57%)

7361.8 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandUseCredentialsToAccessTableInfoData.cs
1
// Copyright (c) The University of Dundee 2018-2019
2
// This file is part of the Research Data Management Platform (RDMP).
3
// RDMP is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
4
// RDMP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
5
// You should have received a copy of the GNU General Public License along with RDMP. If not, see <https://www.gnu.org/licenses/>.
6

7
using Rdmp.Core.Curation.Data;
8
using Rdmp.Core.Repositories.Construction;
9
using Rdmp.Core.ReusableLibraryCode.DataAccess;
10

11
namespace Rdmp.Core.CommandExecution.AtomicCommands;
12

13
public sealed class ExecuteCommandUseCredentialsToAccessTableInfoData : BasicCommandExecution
14
{
15
    private readonly DataAccessCredentials _credentials;
16
    private readonly TableInfo _tableInfo;
17
    private readonly DataAccessCredentials[] _available;
18

19
    [UseWithObjectConstructor]
20
    public ExecuteCommandUseCredentialsToAccessTableInfoData(IBasicActivateItems activator,
21
        DataAccessCredentials credentials, TableInfo targetTableInfo) : base(activator)
×
22
    {
23
        _credentials = credentials;
×
24
        _tableInfo = targetTableInfo;
×
25

26
        if (_credentials == null)
×
27
        {
28
            _available = BasicActivator.RepositoryLocator.CatalogueRepository.GetAllObjects<DataAccessCredentials>();
×
29

30
            if (_available.Length == 0)
×
31
                SetImpossible("There are no credentials configured");
×
32
        }
33
        else
34
        {
35
            var usage = _credentials.GetAllTableInfosThatUseThis();
×
36

37
            if (usage[DataAccessContext.Any].Contains(targetTableInfo))
×
38
                SetImpossible($"{_credentials} is already used to access {targetTableInfo} under Any context");
×
39
        }
40
    }
×
41

42
    public override void Execute()
43
    {
44
        base.Execute();
×
45

46
        var creds = _credentials ?? (DataAccessCredentials)BasicActivator.SelectOne("Select Credentials", _available);
×
47

48
        if (creds == null)
×
49
            return;
×
50

51
        BasicActivator.RepositoryLocator.CatalogueRepository.TableInfoCredentialsManager.CreateLinkBetween(creds,
×
52
            _tableInfo, DataAccessContext.Any);
×
53
        Publish(_tableInfo);
×
54
    }
×
55
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc