mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Merge pull request #54 from LD-Reborn/11-feature-crud---locations-delete
11 feature crud locations delete
This commit is contained in:
@@ -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;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user