From 00be6206a96bf3dc2070d6dd8554a10d7d477297 Mon Sep 17 00:00:00 2001
From: laodaming <11058467+laudamine@user.noreply.gitee.com>
Date: Wed, 15 Nov 2023 12:30:08 +0800
Subject: [PATCH] fix

---
 utils/ldap_lib/ldap.go | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 utils/ldap_lib/ldap.go

diff --git a/utils/ldap_lib/ldap.go b/utils/ldap_lib/ldap.go
new file mode 100644
index 00000000..93e9b184
--- /dev/null
+++ b/utils/ldap_lib/ldap.go
@@ -0,0 +1,37 @@
+package ldap_lib
+
+import (
+	"github.com/go-ldap/ldap/v3"
+)
+
+type LdapGroup struct {
+	conn *ldap.Conn
+}
+
+func NewLdapGroup(conn *ldap.Conn) *LdapGroup {
+	return &LdapGroup{conn}
+}
+
+// 更新分组信息
+func (l *LdapGroup) UpdateGroup(groupDN string, attr map[string][]string) error {
+	modify := ldap.NewModifyRequest(groupDN, nil)
+	for key, v := range attr {
+		modify.Replace(key, v)
+	}
+	return l.conn.Modify(modify)
+}
+
+// 删除分组
+func (l *LdapGroup) DeleteGroup(groupDN string) error {
+	del := ldap.NewDelRequest(groupDN, nil)
+	return l.conn.Del(del)
+}
+
+// 创建分组
+func (l *LdapGroup) CreateGroup(groupDN string, attr map[string][]string) error {
+	add := ldap.NewAddRequest(groupDN, nil)
+	for key, v := range attr {
+		add.Attribute(key, v)
+	}
+	return l.conn.Add(add)
+}