Compare commits
9
Commits
v9.6.0
..
0db49b9672
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0db49b9672 | ||
|
|
a334350e33 | ||
|
|
805f26946b | ||
|
|
f1ccb7375b | ||
|
|
f5ef2aac0f | ||
|
|
fae65a637c | ||
|
|
fd5ec49569 | ||
|
|
8daa8bf0ff | ||
|
|
788ec55bde |
No files matched your search
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "3cx-tapi",
|
||||
"description": "3CX CP Tapi and Projectmanager integration",
|
||||
"version": "9.6.0",
|
||||
"version": "9.6.2",
|
||||
"author": {
|
||||
"name": "Daniel Triendl",
|
||||
"email": "d.triendl@cp-solutions.at"
|
||||
|
||||
@@ -42,7 +42,7 @@ export class Status {
|
||||
if (!this._enabled || !this._user) {
|
||||
return;
|
||||
}
|
||||
var entry = avs.find(a => a.user === this._user);
|
||||
var entry = avs.find(a => a.user.toLowerCase() === this._user.toLowerCase());
|
||||
if (!entry) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Http" Version="10.0.5" />
|
||||
<PackageReference Include="Microsoft.Kiota.Bundle" Version="1.22.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http" Version="10.0.13" />
|
||||
<PackageReference Include="Microsoft.Kiota.Bundle" Version="2.1.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<DockerfileContext>..\..</DockerfileContext>
|
||||
<OpenApiDocumentsDirectory>.</OpenApiDocumentsDirectory>
|
||||
<Version>9.6.0</Version>
|
||||
<Version>9.6.2</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Dapper" Version="2.1.72" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.5" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="7.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.ApiDescription.Server" Version="10.0.5">
|
||||
<PackageReference Include="Dapper" Version="2.1.89" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.13" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="7.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.ApiDescription.Server" Version="10.0.13">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
@@ -23,7 +23,7 @@
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
|
||||
<PackageReference Include="Serilog.Enrichers.ClientInfo" Version="2.9.0" />
|
||||
<PackageReference Include="Serilog.Sinks.Console" Version="6.1.1" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="10.1.7" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="10.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -22,6 +22,7 @@ COPY ["server/src/CPATapi.Server/CPATapi.Server.csproj", "server/src/CPATapi.Ser
|
||||
RUN dotnet restore "server/src/CPATapi.Server/CPATapi.Server.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/server/src/CPATapi.Server"
|
||||
COPY --from=build-userscript ["/src/dist/3CX TAPI.prod.user.js", "./wwwroot/3CX_TAPI.user.js"]
|
||||
RUN dotnet build "./CPATapi.Server.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||
|
||||
# This stage is used to publish the service project to be copied to the final stage
|
||||
@@ -33,5 +34,4 @@ RUN dotnet publish "./CPATapi.Server.csproj" -c $BUILD_CONFIGURATION -o /app/pub
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
COPY --from=build-userscript ["/src/dist/3CX TAPI.prod.user.js", "./wwwroot/3CX_TAPI.user.js"]
|
||||
ENTRYPOINT ["dotnet", "CPATapi.Server.dll"]
|
||||
@@ -2,9 +2,9 @@ namespace CPATapi.Server.Models;
|
||||
|
||||
public class TapiContact
|
||||
{
|
||||
public string TD_ID { get; set; }
|
||||
public string TD_NAME { get; set; }
|
||||
public string TD_NUMBER { get; set; }
|
||||
public string TD_NUMBER_TAPI { get; set; }
|
||||
public string TD_MEDIUM { get; set; }
|
||||
public required string TD_ID { get; set; }
|
||||
public required string TD_NAME { get; set; }
|
||||
public required string TD_NUMBER { get; set; }
|
||||
public required string TD_NUMBER_TAPI { get; set; }
|
||||
public required string TD_MEDIUM { get; set; }
|
||||
}
|
||||
@@ -14,7 +14,7 @@ internal class ZeitConsensRepository(IConfiguration config) : Repository(config)
|
||||
,buLast.LAST_STAMP
|
||||
,buLast.AT_COMPANY
|
||||
FROM dbo.MA_DATEN ma
|
||||
INNER JOIN projectmanagement.dbo.CP_USER us ON us.US_LOGINNAME = ma.MA_USER_NAME
|
||||
INNER JOIN CPSRVAPP2016.projectmanagement.dbo.CP_USER us ON us.US_LOGINNAME = ma.MA_USER_NAME
|
||||
OUTER APPLY (
|
||||
SELECT COUNT(*) % 2 AS LOGGED_IN
|
||||
FROM dbo.BU bu
|
||||
@@ -31,6 +31,7 @@ internal class ZeitConsensRepository(IConfiguration config) : Repository(config)
|
||||
) buLast
|
||||
WHERE
|
||||
ma.MA_USER_AKTIV = 1
|
||||
AND us.US_ACTIVE = 1
|
||||
""";
|
||||
|
||||
public async Task<IEnumerable<Availability>> GetUsersAvailabilityAsync(DateTime from, DateTime to)
|
||||
|
||||
@@ -9,11 +9,17 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.4" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
|
||||
<PackageReference Include="NUnit" Version="4.3.2" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.7.0" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
|
||||
<PackageReference Include="coverlet.collector" Version="10.1.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.11.0" />
|
||||
<PackageReference Include="NUnit" Version="5.0.0" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.15.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="6.3.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -10,11 +10,17 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.4" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
|
||||
<PackageReference Include="NUnit" Version="4.3.2" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.7.0" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
|
||||
<PackageReference Include="coverlet.collector" Version="10.1.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.11.0" />
|
||||
<PackageReference Include="NUnit" Version="5.0.0" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.15.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="6.3.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace CPATapi.Server.Tests;
|
||||
|
||||
public class RepositoryTestsBase
|
||||
{
|
||||
[OneTimeSetUp]
|
||||
public void Setup()
|
||||
{
|
||||
// the type specified here is just so the secrets library can
|
||||
// find the UserSecretId we added in the csproj file
|
||||
var builder = new ConfigurationBuilder().AddUserSecrets<RepositoryTestsBase>();
|
||||
|
||||
Configuration = builder.Build();
|
||||
}
|
||||
|
||||
protected IConfigurationRoot Configuration { get; private set; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using CPATapi.Server.Repository;
|
||||
|
||||
namespace CPATapi.Server.Tests;
|
||||
|
||||
public class TapiDirectoryRepositoryTests : RepositoryTestsBase
|
||||
{
|
||||
[Test]
|
||||
public async Task TestGetAllAsync()
|
||||
{
|
||||
var tdRepo = new TapiDirectoryRepository(Configuration);
|
||||
var contacts = (await tdRepo.GetAllAsync()).ToList();
|
||||
Assert.That(contacts, Is.Not.Empty);
|
||||
Assert.That(contacts, Has.Count.GreaterThan(1));
|
||||
}
|
||||
}
|
||||
@@ -1,26 +1,13 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using CPATapi.Server.Repository;
|
||||
|
||||
namespace CPATapi.Server.Tests;
|
||||
|
||||
public class ZeitConsensRepositoryTest
|
||||
public class ZeitConsensRepositoryTest : RepositoryTestsBase
|
||||
{
|
||||
[OneTimeSetUp]
|
||||
public void Setup()
|
||||
{
|
||||
// the type specified here is just so the secrets library can
|
||||
// find the UserSecretId we added in the csproj file
|
||||
var builder = new ConfigurationBuilder().AddUserSecrets<ZeitConsensRepositoryTest>();
|
||||
|
||||
_configuration = builder.Build();
|
||||
}
|
||||
|
||||
private IConfigurationRoot _configuration { get; set; }
|
||||
|
||||
[Test]
|
||||
public async Task TestGetUsersAvailabilityAsync()
|
||||
{
|
||||
var zcRepo = new ZeitConsensRepository(_configuration);
|
||||
var zcRepo = new ZeitConsensRepository(Configuration);
|
||||
var availability= (await zcRepo.GetUsersAvailabilityAsync(DateTime.Now.Date, DateTime.Now.AddDays(1).Date)).ToList();
|
||||
Assert.That(availability, Is.Not.Empty);
|
||||
Assert.That(availability, Has.Count.GreaterThan(1));
|
||||
@@ -29,7 +16,7 @@ public class ZeitConsensRepositoryTest
|
||||
[Test]
|
||||
public async Task TestGetUserAvailabilityAsync()
|
||||
{
|
||||
var zcRepo = new ZeitConsensRepository(_configuration);
|
||||
var zcRepo = new ZeitConsensRepository(Configuration);
|
||||
var availability = await zcRepo.GetUserAvailabilityAsync("CPATRD", DateTime.Now.Date, DateTime.Now.AddDays(1).Date);
|
||||
Assert.That(availability, Is.Not.Null);
|
||||
Assert.That(availability.MA_USER_NAME, Is.EqualTo("CPATRD"));
|
||||
|
||||
Reference in new issue
Block a user