Revert "feat(group): Sanitize group names and ids on creation"

pull/56281/head
Arthur Schiwon 2025-11-07 10:37:50 +07:00 committed by GitHub
parent 6ba4ca3d8f
commit f4b4cb5493
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 26 deletions

@ -67,7 +67,6 @@ class Database extends ABackend implements
public function createGroup(string $name): ?string { public function createGroup(string $name): ?string {
$this->fixDI(); $this->fixDI();
$name = $this->sanitizeGroupName($name);
$gid = $this->computeGid($name); $gid = $this->computeGid($name);
try { try {
// Add group // Add group
@ -587,21 +586,12 @@ class Database extends ABackend implements
return 'Database'; return 'Database';
} }
/**
* Merge any white spaces to a single space in group name, then trim it.
*/
private function sanitizeGroupName(string $displayName): string {
$cleanedDisplayName = preg_replace('/\s+/', ' ', $displayName);
return trim($cleanedDisplayName);
}
/** /**
* Compute group ID from display name (GIDs are limited to 64 characters in database) * Compute group ID from display name (GIDs are limited to 64 characters in database)
*/ */
private function computeGid(string $displayName): string { private function computeGid(string $displayName): string {
$displayNameWithoutWhitespace = preg_replace('/\s+/', '_', $displayName); return mb_strlen($displayName) > 64
return mb_strlen($displayNameWithoutWhitespace) > 64 ? hash('sha256', $displayName)
? hash('sha256', $displayNameWithoutWhitespace) : $displayName;
: $displayNameWithoutWhitespace;
} }
} }

@ -57,17 +57,4 @@ class DatabaseTest extends Backend {
$group = $this->backend->getGroupDetails($gidCreated); $group = $this->backend->getGroupDetails($gidCreated);
$this->assertEquals(['displayName' => $groupName], $group); $this->assertEquals(['displayName' => $groupName], $group);
} }
public function testWhiteSpaceInGroupName(): void {
$randomId = $this->getUniqueID('test_', 10);
$groupName = " group name with weird spaces \n" . $randomId;
$expectedGroupName = 'group name with weird spaces ' . $randomId;
$expectedGroupId = 'group_name_with_weird_spaces_' . $randomId;
$gidCreated = $this->backend->createGroup($groupName);
$this->assertEquals($expectedGroupId, $gidCreated);
$group = $this->backend->getGroupDetails($gidCreated);
$this->assertEquals(['displayName' => $expectedGroupName], $group);
}
} }