agent-user read-mode support
This commit is contained in:
parent
ba741a3ab9
commit
717e026017
@ -113,7 +113,7 @@ public static partial class APIHandler
|
|||||||
agent.Run(async runner =>
|
agent.Run(async runner =>
|
||||||
{
|
{
|
||||||
if (!await runner.RequestValidated(1, "POST", true)) return;
|
if (!await runner.RequestValidated(1, "POST", true)) return;
|
||||||
if (await runner.TryGetBodyJsonAsync(["agentid", "name", "jabatan", "deplid", "skangkat", "tmt", "skper", "tgper", "vision", "mission", "photo", "createuser", "uname", "pass", "level"], CTS.Token) is Dictionary<string, JsonElement> InElement)
|
if (await runner.TryGetBodyJsonAsync(["agentid", "name", "jabatan", "deplid", "skangkat", "tmt", "skper", "tgper", "vision", "mission", "photo", "seleksi", "nilaipilih", "eviden", "dokumentasi", "createuser", "uname", "pass", "level"], CTS.Token) is Dictionary<string, JsonElement> InElement)
|
||||||
{
|
{
|
||||||
string AgentID = InElement["agentid"].GetString() ?? string.Empty;
|
string AgentID = InElement["agentid"].GetString() ?? string.Empty;
|
||||||
string Name = InElement["name"].GetString() ?? string.Empty;
|
string Name = InElement["name"].GetString() ?? string.Empty;
|
||||||
@ -127,6 +127,10 @@ public static partial class APIHandler
|
|||||||
string Mission = InElement["mission"].GetString() ?? "-";
|
string Mission = InElement["mission"].GetString() ?? "-";
|
||||||
string Photo = InElement["photo"].GetString() ?? string.Empty;
|
string Photo = InElement["photo"].GetString() ?? string.Empty;
|
||||||
string PhotoURL = string.Empty;
|
string PhotoURL = string.Empty;
|
||||||
|
string? Seleksi = InElement["seleksi"].GetString();
|
||||||
|
DateOnly? NilaiPilih = InElement["nilaipilih"].ValueKind == JsonValueKind.Null ? null : DateOnly.FromDateTime(InElement["nilaipilih"].GetDateTime());
|
||||||
|
string? Eviden = InElement["eviden"].GetString();
|
||||||
|
string? Dokumentasi = InElement["dokumentasi"].GetString();
|
||||||
bool CreateUser = InElement["createuser"].GetBoolean();
|
bool CreateUser = InElement["createuser"].GetBoolean();
|
||||||
string UName = InElement["uname"].GetString() ?? string.Empty;
|
string UName = InElement["uname"].GetString() ?? string.Empty;
|
||||||
string PlainPass = InElement["pass"].GetString() ?? string.Empty;
|
string PlainPass = InElement["pass"].GetString() ?? string.Empty;
|
||||||
@ -159,7 +163,7 @@ public static partial class APIHandler
|
|||||||
if (!File.Exists(PhotoPath)) await File.WriteAllBytesAsync(PhotoPath, ImageBytes, CTS.Token);
|
if (!File.Exists(PhotoPath)) await File.WriteAllBytesAsync(PhotoPath, ImageBytes, CTS.Token);
|
||||||
PhotoURL = Path.Combine("/assets/images/uploads", PhotoFileName);
|
PhotoURL = Path.Combine("/assets/images/uploads", PhotoFileName);
|
||||||
}
|
}
|
||||||
Agent NewAgent = new(AgentID, Name, Jabatan, DeploymentID, SKAngkat, TMT, SKPer.Length == 0 ? null : SKPer, SKPer.Length == 0 ? null : TGPer, Vision, Mission, Photo.Length == 0 ? null : PhotoURL);
|
Agent NewAgent = new(AgentID, Name, Jabatan, DeploymentID, SKAngkat, TMT, SKPer.Length == 0 ? null : SKPer, SKPer.Length == 0 ? null : TGPer, Vision, Mission, Photo.Length == 0 ? null : PhotoURL, Seleksi, NilaiPilih, Eviden, Dokumentasi);
|
||||||
await RunTransactionAsync(CS, async (Conn, Trans) =>
|
await RunTransactionAsync(CS, async (Conn, Trans) =>
|
||||||
{
|
{
|
||||||
using (SqlCommand CreateAgent = Conn.CreateCommand())
|
using (SqlCommand CreateAgent = Conn.CreateCommand())
|
||||||
@ -239,7 +243,11 @@ public static partial class APIHandler
|
|||||||
a["tgperubahan"] == DBNull.Value ? null : DateOnly.FromDateTime((DateTime)a["tgperubahan"]),
|
a["tgperubahan"] == DBNull.Value ? null : DateOnly.FromDateTime((DateTime)a["tgperubahan"]),
|
||||||
a["vision"] == DBNull.Value ? null : (string)a["vision"],
|
a["vision"] == DBNull.Value ? null : (string)a["vision"],
|
||||||
a["mission"] == DBNull.Value ? null : (string)a["mission"],
|
a["mission"] == DBNull.Value ? null : (string)a["mission"],
|
||||||
a["photourl"] == DBNull.Value ? null : (string)a["photourl"]
|
a["photourl"] == DBNull.Value ? null : (string)a["photourl"],
|
||||||
|
a["seleksi"] == DBNull.Value ? null : (string)a["seleksi"],
|
||||||
|
a["nilaipilih"] == DBNull.Value ? null : DateOnly.FromDateTime((DateTime)a["nilaipilih"]),
|
||||||
|
a["eviden"] == DBNull.Value ? null : (string)a["eviden"],
|
||||||
|
a["dokumentasi"] == DBNull.Value ? null : (string)a["dokumentasi"]
|
||||||
), CTS.Token))[0];
|
), CTS.Token))[0];
|
||||||
int AgentIdx = Agents.FindIndex(a => a.AgentID == UpAgent.AgentID);
|
int AgentIdx = Agents.FindIndex(a => a.AgentID == UpAgent.AgentID);
|
||||||
Agents[AgentIdx] = Agents[AgentIdx] with
|
Agents[AgentIdx] = Agents[AgentIdx] with
|
||||||
@ -253,12 +261,29 @@ public static partial class APIHandler
|
|||||||
TMUbah = UpAgent.TMUbah,
|
TMUbah = UpAgent.TMUbah,
|
||||||
Vision = UpAgent.Vision,
|
Vision = UpAgent.Vision,
|
||||||
Mission = UpAgent.Mission,
|
Mission = UpAgent.Mission,
|
||||||
PhotoURL = UpAgent.PhotoURL
|
PhotoURL = UpAgent.PhotoURL,
|
||||||
|
Seleksi = UpAgent.Seleksi,
|
||||||
|
NilaiPilih = UpAgent.NilaiPilih,
|
||||||
|
Eviden = UpAgent.Eviden,
|
||||||
|
Dokumentasi = UpAgent.Dokumentasi
|
||||||
};
|
};
|
||||||
await runner.WriteJsonResponse(StatusCodes.Status202Accepted, "Data updated.", UpAgent);
|
await runner.WriteJsonResponse(StatusCodes.Status202Accepted, "Data updated.", UpAgent);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
.Map("/getusers", users =>
|
||||||
|
{
|
||||||
|
users.Run(async runner =>
|
||||||
|
{
|
||||||
|
if (!await runner.RequestValidated(2)) return;
|
||||||
|
List<SafeUser> SafeAccounts = [];
|
||||||
|
foreach (User UnsafeUser in UserAccounts.Values.ToList())
|
||||||
|
{
|
||||||
|
SafeAccounts.Add(SafeUser.FromUser(UnsafeUser));
|
||||||
|
}
|
||||||
|
await runner.WriteJsonResponse(StatusCodes.Status200OK, "Success", SafeAccounts);
|
||||||
|
});
|
||||||
|
})
|
||||||
.Map("/passwd", passwd =>
|
.Map("/passwd", passwd =>
|
||||||
{
|
{
|
||||||
passwd.Run(async runner =>
|
passwd.Run(async runner =>
|
||||||
|
@ -174,7 +174,11 @@ internal static class Commons
|
|||||||
r["tgperubahan"] == DBNull.Value ? null : DateOnly.FromDateTime((DateTime)r["tgperubahan"]),
|
r["tgperubahan"] == DBNull.Value ? null : DateOnly.FromDateTime((DateTime)r["tgperubahan"]),
|
||||||
r["vision"] == DBNull.Value ? null : (string)r["vision"],
|
r["vision"] == DBNull.Value ? null : (string)r["vision"],
|
||||||
r["mission"] == DBNull.Value ? null : (string)r["mission"],
|
r["mission"] == DBNull.Value ? null : (string)r["mission"],
|
||||||
r["photourl"] == DBNull.Value ? null : (string)r["photourl"]
|
r["photourl"] == DBNull.Value ? null : (string)r["photourl"],
|
||||||
|
r["seleksi"] == DBNull.Value ? null : (string)r["seleksi"],
|
||||||
|
r["nilaipilih"] == DBNull.Value ? null : DateOnly.FromDateTime((DateTime)r["nilaipilih"]),
|
||||||
|
r["eviden"] == DBNull.Value ? null : (string)r["eviden"],
|
||||||
|
r["dokumentasi"] == DBNull.Value ? null : (string)r["dokumentasi"]
|
||||||
),CTS.Token);
|
),CTS.Token);
|
||||||
}
|
}
|
||||||
Console.WriteLine("Done.");
|
Console.WriteLine("Done.");
|
||||||
|
@ -4,7 +4,7 @@ using System.Text.Json.Serialization;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace perubahan;
|
namespace perubahan;
|
||||||
internal partial record Agent(string AgentID, string Name, string Jabatan, short DeplID, string SKAngkat, DateOnly TMT, string? SKPerb, DateOnly? TMUbah, string? Vision, string? Mission, string? PhotoURL);
|
internal partial record Agent(string AgentID, string Name, string Jabatan, short DeplID, string SKAngkat, DateOnly TMT, string? SKPerb, DateOnly? TMUbah, string? Vision, string? Mission, string? PhotoURL, string? Seleksi, DateOnly? NilaiPilih, string? Eviden, string? Dokumentasi);
|
||||||
internal partial record ApiResponse(int Status, string Message, object Data);
|
internal partial record ApiResponse(int Status, string Message, object Data);
|
||||||
internal partial record Deployment(short DeplID, string UnitKerja);
|
internal partial record Deployment(short DeplID, string UnitKerja);
|
||||||
internal partial record LoginUser(string Username, string Password);
|
internal partial record LoginUser(string Username, string Password);
|
||||||
@ -29,10 +29,11 @@ internal partial record User(string Username, string AgentID, string Password, b
|
|||||||
[JsonSerializable(typeof(User))]
|
[JsonSerializable(typeof(User))]
|
||||||
//////////----------DICTIONARIES----------//////////
|
//////////----------DICTIONARIES----------//////////
|
||||||
[JsonSerializable(typeof(Dictionary<string, JsonElement>))]
|
[JsonSerializable(typeof(Dictionary<string, JsonElement>))]
|
||||||
// [JsonSerializable(typeof(ConcurrentDictionary<string, User>))]
|
[JsonSerializable(typeof(ConcurrentDictionary<string, User>))]
|
||||||
//////////-------------LISTS--------------//////////
|
//////////-------------LISTS--------------//////////
|
||||||
[JsonSerializable(typeof(List<Agent>))]
|
[JsonSerializable(typeof(List<Agent>))]
|
||||||
[JsonSerializable(typeof(List<Deployment>))]
|
[JsonSerializable(typeof(List<Deployment>))]
|
||||||
|
[JsonSerializable(typeof(List<SafeUser>))]
|
||||||
[JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Default, PropertyNameCaseInsensitive = true, PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase)]
|
[JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Default, PropertyNameCaseInsensitive = true, PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase)]
|
||||||
internal partial class SGContext : JsonSerializerContext { }
|
internal partial class SGContext : JsonSerializerContext { }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user