package schema // registerEntities registers all 18 entity type definitions for generic CRUD. func (r *Registry) registerEntities() { r.addEntityType("tenant", "Organization tenant", []string{"top", "gscTenant"}, "ou=tenants", "gscTenantId", "(objectClass=gscTenant)", "tenant", []string{"gscTenantId", "gscTenantName"}) r.addEntityType("resource", "Shared resource (room, equipment)", []string{"top", "gscResource"}, "ou=tenants", "gscResourceId", "(objectClass=gscResource)", "resource", []string{"gscResourceId", "gscResourceName", "gscResourceType"}) r.addEntityType("dlp-policy", "Data loss prevention policy", []string{"top", "gscDlpPolicy"}, "ou=dlp,ou=compliance", "cn", "(objectClass=gscDlpPolicy)", "dlp", []string{"gscDlpPolicyName"}) r.addEntityType("sensitivity-label", "Sensitivity classification label", []string{"top", "gscSensitivityLabel"}, "ou=sensitivity,ou=compliance", "cn", "(objectClass=gscSensitivityLabel)", "sensitivity", []string{"gscSensitivityLabelName"}) r.addEntityType("encryption-policy", "Encryption policy", []string{"top", "gscEncryptionPolicy"}, "ou=encryption,ou=compliance", "cn", "(objectClass=gscEncryptionPolicy)", "encryption", []string{"gscEncryptionPolicyName"}) r.addEntityType("retention-policy", "Data retention policy", []string{"top", "gscRetentionPolicy"}, "ou=retention,ou=compliance", "cn", "(objectClass=gscRetentionPolicy)", "retention", []string{"gscRetentionPolicyName"}) r.addEntityType("ediscovery-case", "eDiscovery case", []string{"top", "gscEDiscoveryCase"}, "ou=ediscovery,ou=compliance", "cn", "(objectClass=gscEDiscoveryCase)", "ediscovery", []string{"gscEDiscoveryCaseName"}) r.addEntityType("ediscovery-hold", "eDiscovery legal hold", []string{"top", "gscEDiscoveryHold"}, "ou=ediscovery,ou=compliance", "cn", "(objectClass=gscEDiscoveryHold)", "ediscovery", []string{"gscEDiscoveryHoldName"}) r.addEntityType("audit-policy", "Audit logging policy", []string{"top", "gscAuditPolicy"}, "ou=audit,ou=compliance", "cn", "(objectClass=gscAuditPolicy)", "audit", []string{"gscAuditPolicyName"}) r.addEntityType("ca-policy", "Conditional access policy", []string{"top", "gscConditionalAccessPolicy"}, "ou=iam,ou=compliance", "cn", "(objectClass=gscConditionalAccessPolicy)", "iam", []string{"gscIAMCAPolicyName"}) r.addEntityType("collab-policy", "Collaboration policy", []string{"top", "gscCollaborationPolicy"}, "ou=collaboration,ou=compliance", "cn", "(objectClass=gscCollaborationPolicy)", "collaboration", []string{"gscCollabPolicyName"}) r.addEntityType("barrier-segment", "Information barrier segment", []string{"top", "gscBarrierSegment"}, "ou=barriers,ou=compliance", "cn", "(objectClass=gscBarrierSegment)", "barriers", []string{"gscBarrierSegmentName"}) r.addEntityType("barrier-policy", "Information barrier policy", []string{"top", "gscBarrierPolicy"}, "ou=barriers,ou=compliance", "cn", "(objectClass=gscBarrierPolicy)", "barriers", []string{"gscBarrierPolicyName"}) r.addEntityType("guest-policy", "Guest access policy", []string{"top", "gscGuestPolicy"}, "ou=policies,ou=guests", "cn", "(objectClass=gscGuestPolicy)", "guest", []string{"gscGuestPolicyName"}) r.addEntityType("federated-idp", "Federated identity provider", []string{"top", "gscFederatedIdp"}, "ou=idps,ou=guests", "cn", "(objectClass=gscFederatedIdp)", "guest", []string{"gscGuestIdpName"}) r.addEntityType("managed-key", "Managed encryption key", []string{"top", "gscManagedKey"}, "ou=keys,ou=keymanagement", "gscKeyId", "(objectClass=gscManagedKey)", "managed-key", []string{"gscKeyId", "gscKeyName", "gscKeyAlgorithm"}) r.addEntityType("kms-policy", "Key management policy", []string{"top", "gscKmsPolicy"}, "ou=policies,ou=keymanagement", "gscKmsPolicyId", "(objectClass=gscKmsPolicy)", "kms-policy", []string{"gscKmsPolicyId", "gscKmsPolicyName"}) r.addEntityType("hsm-config", "HSM hardware configuration", []string{"top", "gscHsmConfig"}, "ou=hsmconfigs,ou=keymanagement", "gscHsmConfigId", "(objectClass=gscHsmConfig)", "hsm-config", []string{"gscHsmConfigId", "gscHsmConfigName"}) }