]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
netcmd: models: add missing enum fields to Group model
authorRob van der Linde <rob@catalyst.net.nz>
Thu, 8 Feb 2024 10:13:16 +0000 (23:13 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 16 Feb 2024 02:41:36 +0000 (02:41 +0000)
Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jo Sutton <josutton@catalyst.net.nz>
python/samba/netcmd/domain/models/__init__.py
python/samba/netcmd/domain/models/group.py
python/samba/netcmd/domain/models/types.py

index 3ca6c8981977cde4f2233c29cc8d7d22239c7415..85a74a26bd016a70099b22d1b645aa789ac3ffc8 100644 (file)
@@ -30,6 +30,6 @@ from .model import MODELS
 from .schema import AttributeSchema, ClassSchema
 from .site import Site
 from .subnet import Subnet
-from .types import AccountType, SystemFlags
+from .types import AccountType, GroupType, SystemFlags
 from .user import User
 from .value_type import ValueType
index ab10654ad162823210771e4ad850d74d5d09d763..9d2da52b79af7eebb60b6e88974e1c35d84ceee9 100644 (file)
 from .fields import (BooleanField, DnField, EnumField, IntegerField, SIDField,
                      StringField)
 from .model import Model
-from .types import SystemFlags
+from .types import AccountType, GroupType, SystemFlags
 
 
 class Group(Model):
+    account_type = EnumField("sAMAccountType", AccountType)
+    group_type = EnumField("groupType", GroupType)
     admin_count = IntegerField("adminCount")
     description = StringField("description")
     is_critical_system_object = BooleanField("isCriticalSystemObject",
index 146c7f26fc7e718ae7b25d14b31445b00d4794f7..6b833bb3942504067292f2304861c016a988eb9b 100644 (file)
@@ -30,6 +30,13 @@ from samba.dsdb import (
     ATYPE_DISTRIBUTION_LOCAL_GROUP,
     ATYPE_WORKSTATION_TRUST,
     ATYPE_INTERDOMAIN_TRUST,
+    GTYPE_DISTRIBUTION_GLOBAL_GROUP,
+    GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP,
+    GTYPE_DISTRIBUTION_UNIVERSAL_GROUP,
+    GTYPE_SECURITY_BUILTIN_LOCAL_GROUP,
+    GTYPE_SECURITY_DOMAIN_LOCAL_GROUP,
+    GTYPE_SECURITY_GLOBAL_GROUP,
+    GTYPE_SECURITY_UNIVERSAL_GROUP,
     SYSTEM_FLAG_CR_NTDS_NC,
     SYSTEM_FLAG_CR_NTDS_DOMAIN,
     SYSTEM_FLAG_CR_NTDS_NOT_GC_REPLICATED,
@@ -54,6 +61,16 @@ class AccountType(IntFlag):
     INTERDOMAIN_TRUST = ATYPE_INTERDOMAIN_TRUST
 
 
+class GroupType(IntFlag):
+    DISTRIBUTION_GLOBAL_GROUP = GTYPE_DISTRIBUTION_GLOBAL_GROUP
+    DISTRIBUTION_DOMAIN_LOCAL_GROUP = GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP
+    DISTRIBUTION_UNIVERSAL_GROUP = GTYPE_DISTRIBUTION_UNIVERSAL_GROUP
+    SECURITY_BUILTIN_LOCAL_GROUP = GTYPE_SECURITY_BUILTIN_LOCAL_GROUP
+    SECURITY_DOMAIN_LOCAL_GROUP = GTYPE_SECURITY_DOMAIN_LOCAL_GROUP
+    SECURITY_GLOBAL_GROUP = GTYPE_SECURITY_GLOBAL_GROUP
+    SECURITY_UNIVERSAL_GROUP = GTYPE_SECURITY_UNIVERSAL_GROUP
+
+
 class SystemFlags(IntFlag):
     CR_NTDS_NC = SYSTEM_FLAG_CR_NTDS_NC
     CR_NTDS_DOMAIN = SYSTEM_FLAG_CR_NTDS_DOMAIN