Skip to content
Snippets Groups Projects
Commit cfec38f4 authored by Marcel Nellesen's avatar Marcel Nellesen
Browse files

Merge branch 'Sprint/2020-22' into 'master'

Sprint/2020 22

See merge request coscine/cs/action!60
parents fc327ec3 052526cf
No related branches found
No related tags found
1 merge request!60Sprint/2020 22
......@@ -46,11 +46,11 @@
<Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath>
</Reference>
<Reference Include="Coscine.Database, Version=1.24.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.dll</HintPath>
<Reference Include="Coscine.Database, Version=1.27.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.dll</HintPath>
</Reference>
<Reference Include="Coscine.Database.T4, Version=1.24.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.T4.dll</HintPath>
<Reference Include="Coscine.Database.T4, Version=1.27.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.T4.dll</HintPath>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
......
......@@ -9,8 +9,8 @@ using System.Reflection;
[assembly: AssemblyDescription("Action.Tests is a part of the CoScInE group.")]
[assembly: AssemblyCompany("IT Center, RWTH Aachen University")]
[assembly: AssemblyProduct("Action.Tests")]
[assembly: AssemblyVersion("1.16.0")]
[assembly: AssemblyFileVersion("1.16.0")]
[assembly: AssemblyInformationalVersion("1.16.0-topic-1062-pidpa0009")]
[assembly: AssemblyVersion("1.17.0")]
[assembly: AssemblyFileVersion("1.17.0")]
[assembly: AssemblyInformationalVersion("1.17.0-topic-1163-admin0001")]
[assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
......@@ -2,7 +2,7 @@
<packages>
<package id="Consul" version="0.7.2.6" targetFramework="net461" />
<package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" />
<package id="Coscine.Database" version="1.24.0" targetFramework="net461" />
<package id="Coscine.Database" version="1.27.0" targetFramework="net461" />
<package id="EntityFramework" version="6.4.4" targetFramework="net461" />
<package id="linq2db" version="3.1.1" targetFramework="net461" />
<package id="linq2db.SqlServer" version="2.6.4" targetFramework="net461" />
......
......@@ -44,11 +44,11 @@
<Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath>
</Reference>
<Reference Include="Coscine.Database, Version=1.24.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.dll</HintPath>
<Reference Include="Coscine.Database, Version=1.27.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.dll</HintPath>
</Reference>
<Reference Include="Coscine.Database.T4, Version=1.24.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.T4.dll</HintPath>
<Reference Include="Coscine.Database.T4, Version=1.27.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.T4.dll</HintPath>
</Reference>
<Reference Include="Coscine.ProxyApi, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Coscine.ProxyApi.1.3.0\lib\net461\Coscine.ProxyApi.dll</HintPath>
......@@ -109,12 +109,14 @@
<ItemGroup>
<Compile Include="Emitter.cs" />
<Compile Include="EventArgs\ActionEventArgs.cs" />
<Compile Include="EventArgs\AdminEventArgs.cs" />
<Compile Include="EventArgs\ProjectEventArgs.cs" />
<Compile Include="EventArgs\PIDEventArgs.cs" />
<Compile Include="EventArgs\ResourceEventArgs.cs" />
<Compile Include="EventArgs\UserEventArgs.cs" />
<Compile Include="Exceptions\ActionException.cs" />
<Compile Include="IAction.cs" />
<Compile Include="Implementations\Admin\NotificationAction.cs" />
<Compile Include="Implementations\PID\NotificationAction.cs" />
<Compile Include="Implementations\Project\NotificationAction.cs" />
<Compile Include="Implementations\Project\PIDAction.cs" />
......@@ -124,6 +126,7 @@
<Compile Include="Implementations\Resource\PIDAction.cs" />
<Compile Include="Implementations\User\NotificationAction.cs" />
<Compile Include="Implementations\User\SPGroupAction.cs" />
<Compile Include="IAdminAction.cs" />
<Compile Include="IProjectAction.cs" />
<Compile Include="IPIDAction.cs" />
<Compile Include="IResourceAction.cs" />
......
......@@ -14,6 +14,7 @@ namespace Coscine.Action
private readonly List<IUserAction> userActions = new List<IUserAction>();
private readonly List<IResourceAction> resourceActions = new List<IResourceAction>();
private readonly List<IPIDAction> pidActions = new List<IPIDAction>();
private readonly List<IAdminAction> adminActions = new List<IAdminAction>();
public IConfiguration Configuration { get; }
......@@ -38,6 +39,9 @@ namespace Coscine.Action
var pida = InstantiateAllImplementations<IPIDAction>(assembly);
pidActions.AddRange(pida);
var adminA = InstantiateAllImplementations<IAdminAction>(assembly);
adminActions.AddRange(adminA);
}
private static IEnumerable<T> InstantiateAllImplementations<T>(System.Reflection.Assembly assembly) where T : IAction
......@@ -105,6 +109,12 @@ namespace Coscine.Action
a.OnPIDOwnerContact(args);
}
}
public void EmitQuotaChanged(AdminEventArgs args)
{
foreach (var a in adminActions)
{
a.OnQutaChanged(args);
}
}
}
}
using Coscine.Configuration;
using System;
namespace Coscine.Action.EventArgs
{
public class AdminEventArgs : ActionEventArgs
{
public IConfiguration Configuration { get; set; }
public Guid ProjectId { get; set; }
public AdminEventArgs(IConfiguration configuration, object[] args) : base(args)
{
Configuration = configuration;
}
public AdminEventArgs(IConfiguration configuration) : this(configuration, new object[0])
{
}
}
}
using Coscine.Action.EventArgs;
namespace Coscine.Action
{
public interface IAdminAction : IAction
{
void OnQutaChanged(AdminEventArgs pidEventArgs);
}
}
using Coscine.Action.EventArgs;
using Coscine.Action.Utils;
namespace Coscine.Action.Implementations.Admin
{
public class NotificationAction : IAdminAction
{
public int Priority => 1;
public bool Enabled => true;
public void OnQutaChanged(AdminEventArgs adminEventArgs)
{
NotificationBusUtil.SendAsync(adminEventArgs.Configuration, "quota_changed", NotificationBusUtil.GetAllOwnersForProjectId(adminEventArgs.ProjectId), adminEventArgs.ProjectId.ToString(), new Newtonsoft.Json.Linq.JObject());
}
}
}
......@@ -9,8 +9,8 @@ using System.Reflection;
[assembly: AssemblyDescription("Action is a part of the CoScInE group.")]
[assembly: AssemblyCompany("IT Center, RWTH Aachen University")]
[assembly: AssemblyProduct("Action")]
[assembly: AssemblyVersion("1.16.0")]
[assembly: AssemblyFileVersion("1.16.0")]
[assembly: AssemblyInformationalVersion("1.16.0-topic-1062-pidpa0009")]
[assembly: AssemblyVersion("1.17.0")]
[assembly: AssemblyFileVersion("1.17.0")]
[assembly: AssemblyInformationalVersion("1.17.0-topic-1163-admin0001")]
[assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
......@@ -2,7 +2,7 @@
<packages>
<package id="Consul" version="0.7.2.6" targetFramework="net461" />
<package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" />
<package id="Coscine.Database" version="1.24.0" targetFramework="net461" />
<package id="Coscine.Database" version="1.27.0" targetFramework="net461" />
<package id="Coscine.ProxyApi" version="1.3.0" targetFramework="net461" />
<package id="EntityFramework" version="6.4.4" targetFramework="net461" />
<package id="linq2db" version="3.1.1" targetFramework="net461" />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment