mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Added Assets update CRUD element
This commit is contained in:
@@ -46,6 +46,7 @@ public partial class LdapService : IDisposable
|
||||
public string GroupsBaseDn => string.IsNullOrEmpty(_opts.GroupsOu) ? _opts.BaseDn : $"{_opts.GroupsOu},{_opts.BaseDn}";
|
||||
public string MigrationsBaseDn => string.IsNullOrEmpty(_opts.MigrationsOu) ? _opts.BaseDn : $"{_opts.MigrationsOu},{_opts.BaseDn}";
|
||||
public string[] UsersAttributes => ["cn", "sn", "title", "uid", "jpegPhoto", "userPassword", "description"];
|
||||
public string[] AssetsAttributes => ["CN", "description", "l", "owner", "serialNumber", "name"];
|
||||
public string[] LocationsAttributes => ["cn", "l", "street", "description"];
|
||||
public string[] GroupsAttributes => ["cn", "gidNumber", "description"];
|
||||
public async Task<IEnumerable<Dictionary<string, string>>> ListLocationsAsync()
|
||||
@@ -148,9 +149,18 @@ public partial class LdapService : IDisposable
|
||||
return new LocationModel((await ListObjectBy(LocationsBaseDn, $"cn={cn}", attributes)).First()) { Cn = cn };
|
||||
}
|
||||
|
||||
public async Task<AssetModel> GetAssetByCnAsync(string cn)
|
||||
{
|
||||
return await GetAssetByCnAsync(cn, AssetsAttributes);
|
||||
}
|
||||
public async Task<AssetModel> GetAssetByCnAsync(string cn, string[] attributes)
|
||||
{
|
||||
return new AssetModel((await ListObjectBy(AssetsBaseDn, $"cn={cn}", attributes)).First()) { Cn = cn };
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<Dictionary<string, string>>> ListDeviceAsync()
|
||||
{
|
||||
return await ListObjectBy(AssetsBaseDn, "(objectClass=device)", ["CN", "description", "l", "owner", "serialNumber"]);
|
||||
return await ListObjectBy(AssetsBaseDn, "(objectClass=device)", AssetsAttributes);
|
||||
}
|
||||
|
||||
public async Task CreateUser(string uid, LdapAttributeSet attributeSet)
|
||||
@@ -298,6 +308,11 @@ public partial class LdapService : IDisposable
|
||||
await UpdateObject(LocationsBaseDn, "cn", cn, attributeName, attributeValue);
|
||||
}
|
||||
|
||||
public async Task UpdateAsset(string cn, string attributeName, string attributeValue)
|
||||
{
|
||||
await UpdateObject(AssetsBaseDn, "cn", cn, attributeName, attributeValue);
|
||||
}
|
||||
|
||||
public async Task UpdateObject(string baseDn, string rdnKey, string rdnValue, string attributeName, string attributeValue)
|
||||
{
|
||||
await ConnectAndBind();
|
||||
|
||||
Reference in New Issue
Block a user