Skip to content

Commit 2410a6e

Browse files
Merge pull request #3 from microting/master
Master changes
2 parents 95b64a5 + ab49fad commit 2410a6e

File tree

266 files changed

+7792
-3490
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

266 files changed

+7792
-3490
lines changed

.github/workflows/dotnet-core-master.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,16 @@ jobs:
5151
run: cd eform-client && yarn install
5252
- name: Create errorShots directory
5353
run: mkdir eform-client/errorShots
54+
- name: Wait for MariaDB
55+
run: |
56+
for i in {1..30}; do
57+
if docker exec mariadb-test mysql -uroot -psecretpassword -e "SELECT 1" &>/dev/null; then
58+
echo "MariaDB is ready!"
59+
break
60+
fi
61+
echo "Waiting for MariaDB... ($i/30)"
62+
sleep 2
63+
done
5464
- name: Start the newly build Docker container
5565
id: docker-run
5666
run: docker run --name my-container -p 4200:5000 --network data microtingas/frontend-container:latest "/ConnectionString=host=mariadbtest;Database=420_Angular;user=root;password=secretpassword;port=3306;Convert Zero Datetime = true;SslMode=none;" > docker_run_log 2>&1 &
@@ -130,6 +140,19 @@ jobs:
130140
path: |
131141
eform-client/cypress/videos/*.mp4
132142
retention-days: 2
143+
test-angular-unit:
144+
runs-on: ubuntu-latest
145+
continue-on-error: true
146+
steps:
147+
- uses: actions/checkout@v3
148+
- name: Use Node.js
149+
uses: actions/setup-node@v3
150+
with:
151+
node-version: 22
152+
- name: Install dependencies
153+
run: cd eform-client && yarn install --frozen-lockfile
154+
- name: Run Jest unit tests
155+
run: cd eform-client && npm run test:unit
133156
test-dotnet:
134157
runs-on: ubuntu-latest
135158
steps:

.github/workflows/dotnet-core-pr.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,16 @@ jobs:
5252
if: steps.cache.outputs.cache-hit != 'true'
5353
- name: Create errorShots directory
5454
run: mkdir eform-client/errorShots
55+
- name: Wait for MariaDB
56+
run: |
57+
for i in {1..30}; do
58+
if docker exec mariadb-test mysql -uroot -psecretpassword -e "SELECT 1" &>/dev/null; then
59+
echo "MariaDB is ready!"
60+
break
61+
fi
62+
echo "Waiting for MariaDB... ($i/30)"
63+
sleep 2
64+
done
5565
- name: Start the newly build Docker container
5666
id: docker-run
5767
run: docker run --name my-container -p 4200:5000 --network data microtingas/frontend-container:latest "/ConnectionString=host=mariadbtest;Database=420_Angular;user=root;password=secretpassword;port=3306;Convert Zero Datetime = true;SslMode=none;" > docker_run_log 2>&1 &
@@ -129,6 +139,19 @@ jobs:
129139
path: |
130140
eform-client/cypress/videos/*.mp4
131141
retention-days: 2
142+
test-angular-unit:
143+
runs-on: ubuntu-latest
144+
continue-on-error: true
145+
steps:
146+
- uses: actions/checkout@v3
147+
- name: Use Node.js
148+
uses: actions/setup-node@v3
149+
with:
150+
node-version: 22
151+
- name: Install dependencies
152+
run: cd eform-client && yarn install --frozen-lockfile
153+
- name: Run Jest unit tests
154+
run: cd eform-client && npm run test:unit
132155
test-dotnet:
133156
runs-on: ubuntu-latest
134157
steps:

eFormAPI/eFormAPI.Web.Integration.Tests/eFormAPI.Web.Integration.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
1111
<PackageReference Include="NUnit" Version="4.4.0" />
1212
<PackageReference Include="NUnit.Analyzers" Version="4.10.0">
1313
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1414
<PrivateAssets>all</PrivateAssets>
1515
</PackageReference>
16-
<PackageReference Include="NUnit3TestAdapter" Version="5.1.0" />
16+
<PackageReference Include="NUnit3TestAdapter" Version="5.2.0" />
1717
</ItemGroup>
1818

1919
<ItemGroup>

eFormAPI/eFormAPI.Web.Tests/eFormAPI.Web.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
1111
<PackageReference Include="NUnit" Version="4.4.0" />
1212
<PackageReference Include="NUnit.Analyzers" Version="4.10.0">
1313
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1414
<PrivateAssets>all</PrivateAssets>
1515
</PackageReference>
16-
<PackageReference Include="NUnit3TestAdapter" Version="5.1.0" />
16+
<PackageReference Include="NUnit3TestAdapter" Version="5.2.0" />
1717
</ItemGroup>
1818

1919
<ItemGroup>

eFormAPI/eFormAPI.Web/Controllers/Eforms/AudioController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public async Task<IActionResult> GetAudio(string fileName)
7272
// new MediaTypeHeaderValue("application/octet-stream");
7373
//result.Content.Headers.ContentLength = stream.Length;
7474
//result.Content.Headers.ContentRange = new ContentRangeHeaderValue(0, stream.Length);
75-
Response.Headers.Add("Accept-Ranges", "bytes");
75+
Response.Headers["Accept-Ranges"] = "bytes";
7676
Response.Headers.Remove("Cache-Control");
7777
return File(stream, "audio/wav");
7878
}

eFormAPI/eFormAPI.Web/Hosting/Security/ClaimsTransformer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public async Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
7777

7878
if (auth == null)
7979
{
80-
_httpContextAccessor.HttpContext.Response.Headers.Add(AuthConsts.UpdateHeaderName, AuthConsts.UpdateHeaderValue);
80+
_httpContextAccessor.HttpContext.Response.Headers[AuthConsts.UpdateHeaderName] = AuthConsts.UpdateHeaderValue;
8181
}
8282
else
8383
{
@@ -86,7 +86,7 @@ public async Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
8686

8787
if (timeValue != auth.TimeStamp)
8888
{
89-
_httpContextAccessor.HttpContext.Response.Headers.Add(AuthConsts.UpdateHeaderName, AuthConsts.UpdateHeaderValue);
89+
_httpContextAccessor.HttpContext.Response.Headers[AuthConsts.UpdateHeaderName] = AuthConsts.UpdateHeaderValue;
9090
}
9191

9292
// Add claims

eFormAPI/eFormAPI.Web/Infrastructure/Models/SelectableList/AdvEntitySelectableGroupEditModel.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ namespace eFormAPI.Web.Infrastructure.Models.SelectableList;
3131

3232
public class AdvEntitySelectableGroupEditModel
3333
{
34-
public string Name { get; set; }
35-
public string GroupUid { get; set; }
36-
public string Description { get; set; }
34+
public required string Name { get; set; }
35+
public required string GroupUid { get; set; }
36+
public required string Description { get; set; }
3737
public List<EntityItem>? EntityItemModels { get; set; }
3838
}

eFormAPI/eFormAPI.Web/Services/AdminService.cs

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -262,24 +262,24 @@ public async Task<OperationResult> Create(UserRegisterModel userRegisterModel)
262262
{
263263
worker.IsLocked = true;
264264
await worker.Update(sdkDbContext);
265-
}
266265

267-
var siteWorker = await sdkDbContext.SiteWorkers
268-
.Include(x => x.Site)
269-
.Where(x => x.WorkerId == worker.Id && x.WorkflowState != Constants.WorkflowStates.Removed)
270-
.FirstOrDefaultAsync();
266+
var siteWorker = await sdkDbContext.SiteWorkers
267+
.Include(x => x.Site)
268+
.Where(x => x.WorkerId == worker.Id && x.WorkflowState != Constants.WorkflowStates.Removed)
269+
.FirstOrDefaultAsync();
271270

272-
var site = await sdkDbContext.Sites.SingleOrDefaultAsync(x => x.Id == siteWorker.SiteId && x.WorkflowState != Constants.WorkflowStates.Removed);
273-
// lock site and units
274-
if (site != null)
275-
{
276-
site.IsLocked = true;
277-
await site.Update(sdkDbContext);
278-
var units = await sdkDbContext.Units.Where(x => x.SiteId == site.Id).ToListAsync();
279-
foreach (Unit unit in units)
271+
var site = await sdkDbContext.Sites.SingleOrDefaultAsync(x => x.Id == siteWorker.SiteId && x.WorkflowState != Constants.WorkflowStates.Removed);
272+
// lock site and units
273+
if (site != null)
280274
{
281-
unit.IsLocked = true;
282-
await unit.Update(sdkDbContext);
275+
site.IsLocked = true;
276+
await site.Update(sdkDbContext);
277+
var units = await sdkDbContext.Units.Where(x => x.SiteId == site.Id).ToListAsync();
278+
foreach (Unit unit in units)
279+
{
280+
unit.IsLocked = true;
281+
await unit.Update(sdkDbContext);
282+
}
283283
}
284284
}
285285

@@ -384,29 +384,30 @@ public async Task<OperationResult> Update(UserRegisterModel userRegisterModel)
384384
}
385385

386386
var worker = await sdkDbContext.Workers.FirstOrDefaultAsync(x => x.Email == user.Email && x.WorkflowState != Constants.WorkflowStates.Removed);
387-
var siteWorker = await sdkDbContext.SiteWorkers
388-
.Where(x => x.WorkerId == worker.Id && x.WorkflowState != Constants.WorkflowStates.Removed)
389-
.FirstOrDefaultAsync();
390-
391-
var site = await sdkDbContext.Sites.SingleOrDefaultAsync(x => x.Id == siteWorker.SiteId
392-
&& x.WorkflowState != Constants.WorkflowStates.Removed);
393-
if (site != null)
387+
if (worker != null)
394388
{
395-
var language = await sdkDbContext.Languages.SingleAsync(x => x.Id == site.LanguageId);
389+
var siteWorker = await sdkDbContext.SiteWorkers
390+
.Where(x => x.WorkerId == worker.Id && x.WorkflowState != Constants.WorkflowStates.Removed)
391+
.FirstOrDefaultAsync();
392+
393+
var site = await sdkDbContext.Sites.SingleOrDefaultAsync(x => x.Id == siteWorker.SiteId
394+
&& x.WorkflowState !=
395+
Constants.WorkflowStates.Removed);
396+
if (site != null)
397+
{
398+
var language = await sdkDbContext.Languages.SingleAsync(x => x.Id == site.LanguageId);
396399

397-
await core.SiteUpdate((int)site.MicrotingUid!,
398-
$"{userRegisterModel.FirstName} {userRegisterModel.LastName}", userRegisterModel.FirstName,
399-
userRegisterModel.LastName, userRegisterModel.Email, language.LanguageCode);
400+
await core.SiteUpdate((int)site.MicrotingUid!,
401+
$"{userRegisterModel.FirstName} {userRegisterModel.LastName}", userRegisterModel.FirstName,
402+
userRegisterModel.LastName, userRegisterModel.Email, language.LanguageCode);
403+
}
400404
}
401405
user.EmailConfirmed = true;
402406
user.Email = userRegisterModel.Email;
403407
user.UserName = userRegisterModel.Email;
404-
if (worker == null)
405-
{
406-
user.FirstName = userRegisterModel.FirstName;
407-
user.LastName = userRegisterModel.LastName;
408-
}
409-
else
408+
user.FirstName = userRegisterModel.FirstName;
409+
user.LastName = userRegisterModel.LastName;
410+
if (worker != null)
410411
{
411412
worker.Email = userRegisterModel.Email;
412413
await worker.Update(sdkDbContext);

eFormAPI/eFormAPI.Web/Services/WordProcessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void AddHtml(string html)
5959
}
6060

6161
var converter = new HtmlConverter(mainPart);
62-
converter.ParseHtml(html);
62+
converter.ParseBody(html);
6363
mainPart.Document.Save();
6464
}
6565

eFormAPI/eFormAPI.Web/eFormAPI.Web.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@
5555
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.9" />
5656
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.9" />
5757
<PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
58-
<PackageReference Include="Microting.eForm" Version="9.0.56" />
59-
<PackageReference Include="Microting.EformAngularFrontendBase" Version="9.0.46" />
60-
<PackageReference Include="Microting.eFormApi.BasePn" Version="9.0.51" />
58+
<PackageReference Include="Microting.eForm" Version="9.0.58" />
59+
<PackageReference Include="Microting.EformAngularFrontendBase" Version="9.0.47" />
60+
<PackageReference Include="Microting.eFormApi.BasePn" Version="9.0.53" />
6161
<PackageReference Include="PureOtp" Version="1.0.0.1" />
62-
<PackageReference Include="Sentry" Version="5.15.1" />
63-
<PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.4" />
62+
<PackageReference Include="Sentry" Version="5.16.0" />
63+
<PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.6" />
6464
<PackageReference Include="McMaster.NETCore.Plugins" Version="2.0.0" />
6565
<PackageReference Include="sendgrid" Version="9.29.3" />
6666
<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.9" />

0 commit comments

Comments
 (0)