Merge pull request #54 from LD-Reborn/11-feature-crud---locations-delete

11 feature crud   locations delete
This commit is contained in:
LD50
2025-10-03 21:31:10 +02:00
committed by GitHub
2 changed files with 28 additions and 2 deletions

View File

@@ -16,4 +16,22 @@ public class LocationsController : Controller
return list;
}
[HttpGet("Delete")]
public async Task<bool> Delete(string cn)
{
if (cn is null) { return false; }
return await Task.Run(() =>
{
try
{
_ldap.DeleteLocation(cn);
return true;
}
catch (Exception)
{
return false;
}
});
}
}

View File

@@ -45,15 +45,17 @@ public partial class LdapService : IDisposable
public string UsersBaseDn => string.IsNullOrEmpty(_opts.UsersOu) ? _opts.BaseDn : $"{_opts.UsersOu},{_opts.BaseDn}";
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[] LocationsAttributes => ["l", "street", "description"];
public string[] GroupsAttributes => ["cn", "gidNumber", "description"];
public async Task<IEnumerable<Dictionary<string, string>>> ListLocationsAsync()
{
return await ListObjectBy(LocationsBaseDn, "(ou=locations)", ["l", "street", "description"]);
return await ListObjectBy(LocationsBaseDn, "", LocationsAttributes);
}
public async Task<IEnumerable<Dictionary<string, string>>> ListUsersAsync()
{
return await ListObjectBy(UsersBaseDn, "", ["cn", "sn", "title", "uid", "jpegPhoto", "userPassword", "description"]);
return await ListObjectBy(UsersBaseDn, "", UsersAttributes);
}
public async Task<MigrationModel> GetMigrationVersionAsync()
@@ -261,6 +263,12 @@ public partial class LdapService : IDisposable
DeleteObjectByDn(dn);
}
public void DeleteLocation(string cn)
{
string dn = PrependRDN($"cn={cn}", LocationsBaseDn);
DeleteObjectByDn(dn);
}
public async Task UpdateUser(string uid, string attributeName, string attributeValue)
{
await UpdateObject(UsersBaseDn, "uid", uid, attributeName, attributeValue);