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;
|
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 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 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 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 string[] GroupsAttributes => ["cn", "gidNumber", "description"];
|
||||||
public async Task<IEnumerable<Dictionary<string, string>>> ListLocationsAsync()
|
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()
|
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()
|
public async Task<MigrationModel> GetMigrationVersionAsync()
|
||||||
@@ -261,6 +263,12 @@ public partial class LdapService : IDisposable
|
|||||||
DeleteObjectByDn(dn);
|
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)
|
public async Task UpdateUser(string uid, string attributeName, string attributeValue)
|
||||||
{
|
{
|
||||||
await UpdateObject(UsersBaseDn, "uid", uid, attributeName, attributeValue);
|
await UpdateObject(UsersBaseDn, "uid", uid, attributeName, attributeValue);
|
||||||
|
|||||||
Reference in New Issue
Block a user