Skip to content

Commit 9dd5f07

Browse files
committed
JsonPropertyName attribute fixed
1 parent 2876c7f commit 9dd5f07

15 files changed

+178
-83
lines changed

CargoHub/LogTransferData.csv

Lines changed: 0 additions & 13 deletions
This file was deleted.

CargoHub/Models/Client.cs

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,27 @@ namespace CargoHub.Models
44
{
55
public class Client : BaseModel
66
{
7-
public required string Name { get; set; }
8-
public required string Address { get; set; }
9-
public required string City { get; set; }
7+
[JsonPropertyName("name")]
8+
public required string? Name { get; set; }
9+
[JsonPropertyName("address")]
10+
11+
public required string? Address { get; set; }
12+
[JsonPropertyName("city")]
13+
14+
public required string? City { get; set; }
1015
[JsonPropertyName("zip_code")]
11-
public required string ZipCode { get; set; }
12-
public required string Province { get; set; }
13-
public required string Country { get; set; }
16+
public required string? ZipCode { get; set; }
17+
[JsonPropertyName("province")]
18+
19+
public required string? Province { get; set; }
20+
[JsonPropertyName("country")]
21+
22+
public required string? Country { get; set; }
1423
[JsonPropertyName("contact_name")]
15-
public required string ContactName { get; set; }
24+
public required string? ContactName { get; set; }
1625
[JsonPropertyName("contact_phone")]
17-
public required string ContactPhone { get; set; }
26+
public required string? ContactPhone { get; set; }
1827
[JsonPropertyName("contact_email")]
19-
public required string ContactEmail { get; set; }
28+
public required string? ContactEmail { get; set; }
2029
}
2130
}

CargoHub/Models/Inventory.cs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,32 @@ public class Inventory : BaseModel
1010
{
1111

1212
[JsonPropertyName("item_id")]
13-
public required string ItemId { get; set; }
14-
15-
public required string Description { get; set; }
13+
public required string? ItemId { get; set; }
14+
[JsonPropertyName("description")]
15+
16+
public required string? Description { get; set; }
1617

1718
[JsonPropertyName("item_reference")]
18-
public required string ItemReference { get; set; }
19+
public required string? ItemReference { get; set; }
1920
[JsonPropertyName("locations")]
2021
[NotMapped]
21-
public required List<int> LocationIds { get; set; } = [];
22+
public required List<int?> LocationIds { get; set; } = [];
2223
[JsonIgnore]
2324
public ICollection<Location> Locations { get; set; } = [];
2425

2526
[JsonPropertyName("total_on_hand")]
26-
public required int TotalOnHand { get; set; }
27+
public required int? TotalOnHand { get; set; }
2728

2829
[JsonPropertyName("total_expected")]
29-
public required int TotalExpected { get; set; }
30+
public required int? TotalExpected { get; set; }
3031

3132
[JsonPropertyName("total_ordered")]
32-
public required int TotalOrdered { get; set; }
33+
public required int? TotalOrdered { get; set; }
3334

3435
[JsonPropertyName("total_allocated")]
35-
public required int TotalAllocated { get; set; }
36+
public required int? TotalAllocated { get; set; }
3637

3738
[JsonPropertyName("total_available")]
38-
public required int TotalAvailable { get; set; }
39+
public required int? TotalAvailable { get; set; }
3940
}
4041
}

CargoHub/Models/Item.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,24 @@ public class Item : BaseModel, IContainsClassification
1414
[Key]
1515
[JsonPropertyName("uid")]
1616

17-
public string Uid { get; set; } = string.Empty;
17+
public string? Uid { get; set; } = string.Empty;
1818
[JsonPropertyName("code")]
1919

20-
public required string Code { get; set; }
20+
public required string? Code { get; set; }
2121
[JsonPropertyName("description")]
22-
public required string Description { get; set; }
22+
public required string? Description { get; set; }
2323

2424
[JsonPropertyName("short_description")]
25-
public required string ShortDescription { get; set; }
25+
public required string? ShortDescription { get; set; }
2626

2727
[JsonPropertyName("upc_code")]
28-
public required string UpcCode { get; set; }
28+
public required string? UpcCode { get; set; }
2929

3030
[JsonPropertyName("model_number")]
31-
public required string ModelNumber { get; set; }
31+
public required string? ModelNumber { get; set; }
3232

3333
[JsonPropertyName("commodity_code")]
34-
public required string CommodityCode { get; set; }
34+
public required string? CommodityCode { get; set; }
3535

3636
[JsonPropertyName("item_line")]
3737
public required int ItemLine { get; set; }
@@ -55,10 +55,10 @@ public class Item : BaseModel, IContainsClassification
5555
public required int SupplierId { get; set; }
5656

5757
[JsonPropertyName("supplier_code")]
58-
public required string SupplierCode { get; set; }
58+
public required string? SupplierCode { get; set; }
5959

6060
[JsonPropertyName("supplier_part_number")]
61-
public required string SupplierPartNumber { get; set; }
61+
public required string? SupplierPartNumber { get; set; }
6262

6363
[JsonIgnore]
6464
public List<Classification> Classifications { get; set; } = [];

CargoHub/Models/ItemGroup.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ namespace CargoHub.Models
55
{
66
public class ItemGroup : BaseModel
77
{
8-
public required string Name {get;set;}
9-
public required string Description {get;set;}
8+
[JsonPropertyName("name")]
9+
public required string? Name {get;set;}
10+
[JsonPropertyName("description")]
11+
12+
public required string? Description {get;set;}
1013
}
1114
}

CargoHub/Models/ItemLine.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ namespace CargoHub.Models
55
{
66
public class ItemLine : BaseModel
77
{
8-
public required string Name {get;set;}
9-
public required string Description {get;set;}
8+
[JsonPropertyName("name")]
9+
10+
public required string? Name {get;set;}
11+
[JsonPropertyName("description")]
12+
13+
public required string? Description {get;set;}
1014
}
1115
}

CargoHub/Models/ItemType.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ namespace CargoHub.Models
55

66
public class ItemType : BaseModel
77
{
8-
public required string Name {get;set;}
9-
public required string Description {get;set;}
8+
[JsonPropertyName("name")]
9+
10+
public required string? Name {get;set;}
11+
[JsonPropertyName("description")]
12+
13+
public required string? Description {get;set;}
1014
}
1115
}
1216

CargoHub/Models/Location.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ public class Location : BaseModel, IContainsClassification
1010
public Warehouse? Warehouse { get; set; }
1111
[JsonIgnore]
1212
public ICollection<Inventory> Inventories { get; } = [];
13-
public required string Code { get; set; }
14-
public required string Name { get; set; }
13+
[JsonPropertyName("code")]
14+
15+
public required string? Code { get; set; }
16+
[JsonPropertyName("name")]
17+
18+
public required string? Name { get; set; }
1519
[JsonIgnore]
1620
public List<Classification> Classifications { get; set; } = [];
1721
}

CargoHub/Models/Supplier.cs

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,35 @@ namespace CargoHub.Models
44
{
55
public class Supplier : BaseModel, IContainsClassification
66
{
7-
public required string Code { get; set; }
8-
public required string Name { get; set; }
9-
public required string Address { get; set; }
7+
[JsonPropertyName("code")]
8+
9+
public required string? Code { get; set; }
10+
[JsonPropertyName("name")]
11+
12+
public required string? Name { get; set; }
13+
[JsonPropertyName("address")]
14+
15+
public required string? Address { get; set; }
1016
[JsonPropertyName("address_extra")]
11-
public required string AddressExtra { get; set; }
12-
public required string City { get; set; }
17+
public required string? AddressExtra { get; set; }
18+
[JsonPropertyName("city")]
19+
public required string? City { get; set; }
1320
[JsonPropertyName("zip_code")]
14-
public required string ZipCode { get; set; }
15-
public required string Province { get; set; }
16-
public required string Country { get; set; }
21+
public required string? ZipCode { get; set; }
22+
[JsonPropertyName("province")]
23+
24+
public required string? Province { get; set; }
25+
[JsonPropertyName("country")]
26+
27+
public required string? Country { get; set; }
1728
[JsonPropertyName("contact_name")]
18-
public required string ContactName { get; set; }
19-
public required string Phonenumber { get; set; }
20-
public required string Reference { get; set; }
29+
public required string? ContactName { get; set; }
30+
[JsonPropertyName("phonenumber")]
31+
32+
public required string? Phonenumber { get; set; }
33+
[JsonPropertyName("reference")]
34+
35+
public required string? Reference { get; set; }
2136
[JsonIgnore]
2237
public List<Classification> Classifications { get; set; } = [];
2338
}

CargoHub/Models/Transfer.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ namespace CargoHub.Models
77
{
88
public class Transfer : BaseModel, IContainsClassification
99
{
10-
public required string Reference { get; set; }
10+
[JsonPropertyName("reference")]
11+
12+
public required string? Reference { get; set; }
1113
[JsonPropertyName("transfer_from")]
12-
public required int TransferFrom { get; set; }
14+
public required int? TransferFrom { get; set; }
1315
[JsonPropertyName("transfer_to")]
14-
public required int TransferTo { get; set; }
16+
public required int? TransferTo { get; set; }
1517
[JsonPropertyName("transfer_status")]
16-
public required string TransferStatus { get; set; }
18+
public required string? TransferStatus { get; set; }
1719

1820
// Items list for JSON serialization/deserialization
1921
[NotMapped]

CargoHub/Models/TransferData.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ namespace CargoHub.Models
33

44
public class TransferData
55
{
6-
public string File { get; set; }
7-
public string DateOfTransfer { get; set; }
6+
public string? File { get; set; }
7+
public string? DateOfTransfer { get; set; }
88
public int RowsChanged { get; set; }
9-
public string TransferTime { get; set; }
10-
public string Error { get; set; }
9+
public string? TransferTime { get; set; }
10+
public string? Error { get; set; }
1111

1212
public TransferData(string file, string dateOfTransfer, int rows, string transferTime, string error)
1313
{

CargoHub/Models/Warehouse.cs

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,36 @@ namespace CargoHub.Models
55
{
66
public class Warehouse : BaseModel, IContainsClassification
77
{
8-
public required string Code { get; set; }
9-
public required string Name { get; set; }
10-
public required string Address { get; set; }
11-
public required string Zip { get; set; }
12-
public required string City { get; set; }
13-
public required string Province { get; set; }
14-
public required string Country { get; set; }
8+
[JsonPropertyName("code")]
9+
10+
public required string? Code { get; set; }
11+
[JsonPropertyName("name")]
12+
13+
public required string? Name { get; set; }
14+
[JsonPropertyName("address")]
15+
16+
public required string? Address { get; set; }
17+
[JsonPropertyName("zip")]
18+
19+
public required string? Zip { get; set; }
20+
[JsonPropertyName("city")]
21+
22+
public required string? City { get; set; }
23+
[JsonPropertyName("province")]
24+
25+
public required string? Province { get; set; }
26+
[JsonPropertyName("country")]
27+
28+
public required string? Country { get; set; }
29+
1530
[JsonIgnore]
16-
public string ContactName { get; set; } = string.Empty;
31+
public string? ContactName { get; set; } = string.Empty;
1732

1833
[JsonIgnore]
19-
public string ContactPhone { get; set; } = string.Empty;
34+
public string? ContactPhone { get; set; } = string.Empty;
2035

2136
[JsonIgnore]
22-
public string ContactEmail { get; set; } = string.Empty;
37+
public string? ContactEmail { get; set; } = string.Empty;
2338

2439
[NotMapped]
2540
// Contact dictionary for JSON serialization/deserialization

CargoHub/Services/APIKeyService.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
using System.Text;
44
using CargoHub.Enums;
55
using CargoHub.Models;
6+
using Microsoft.EntityFrameworkCore;
7+
using Microsoft.EntityFrameworkCore.Metadata.Internal;
68

79
namespace CargoHub.Services
810
{
@@ -39,5 +41,15 @@ public bool VerifyApiKey(string rawApiKey)
3941

4042
return apiKey != null; // Return true if a match is found
4143
}
44+
45+
public async Task<RolesEnum.Roles?> GetRoleForApiKey(string ApiKey)
46+
{
47+
APIKey? key = await _context.APIKeys.FirstOrDefaultAsync(key => key.HashedApiKey == HashString(ApiKey));
48+
if (key != null)
49+
{
50+
return key.UserRole;
51+
}
52+
return null;
53+
}
4254
}
4355
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
// using CargoHub.Enums;
3+
// using Microsoft.AspNetCore.Mvc.Filters;
4+
5+
// namespace CargoHub.Services
6+
// {
7+
// public class AuthorizationFilter : Attribute, IAsyncActionFilter
8+
// {
9+
// private readonly Dictionary<RolesEnum.Roles, List<string>> _roles = new Dictionary<RolesEnum.Roles, List<string>>(){
10+
// {RolesEnum.Roles.WarehouseManager, new List<string>(){"api/v2/ItemGroups","api/v2/ItemLines", "api/v2/Warehouses", "api/v2/Locations", "api/v2/ItemTypes", "api/v2/Transfer", "api/v2/Classifications"}},
11+
// {RolesEnum.Roles.FloorManager, new List<string>(){ "api/v2/[Controller]", "", "",}}
12+
// };
13+
// public async Task OnActionExecutionAsync(ActionExecutingContext _context, ActionExecutionDelegate next)
14+
// {
15+
// RolesEnum.Roles[] ApiRoles = []
16+
// var context = _context.HttpContext;
17+
// string? ApiKey = context.Request.Headers["ApiKey"].FirstOrDefault();
18+
// if (ApiKey == null)
19+
// {
20+
// context.Response.StatusCode = 401;
21+
// context.Response.ContentType = "text/plain";
22+
// await context.Response.WriteAsync("Unauthorized: API key is missing.");
23+
// return;
24+
// }
25+
// var apiKeyService = context.RequestServices.GetService<APIKeyService>();
26+
// bool KeyExists = apiKeyService.VerifyApiKey(ApiKey);
27+
// if (!KeyExists)
28+
// {
29+
// context.Response.StatusCode = 401;
30+
// context.Response.ContentType = "text/plain";
31+
// await context.Response.WriteAsync("Unknown or inactive Api key");
32+
// }
33+
// RolesEnum.Roles? UserRole = await apiKeyService.GetRoleForApiKey(ApiKey);
34+
// UserRole.
35+
36+
37+
// }
38+
// }
39+
// }

0 commit comments

Comments
 (0)