diff options
-rw-r--r-- | packages/server/src/helpers/convertAAGUIDToString.test.ts | 7 | ||||
-rw-r--r-- | packages/server/src/helpers/convertAAGUIDToString.ts | 18 |
2 files changed, 25 insertions, 0 deletions
diff --git a/packages/server/src/helpers/convertAAGUIDToString.test.ts b/packages/server/src/helpers/convertAAGUIDToString.test.ts new file mode 100644 index 0000000..acef3b9 --- /dev/null +++ b/packages/server/src/helpers/convertAAGUIDToString.test.ts @@ -0,0 +1,7 @@ +import convertAAGUIDToString from './convertAAGUIDToString'; + +test('should convert buffer to UUID string', () => { + const uuid = convertAAGUIDToString(Buffer.from('adce000235bcc60a648b0b25f1f05503', 'hex')); + + expect(uuid).toEqual('adce0002-35bc-c60a-648b-0b25f1f05503'); +}); diff --git a/packages/server/src/helpers/convertAAGUIDToString.ts b/packages/server/src/helpers/convertAAGUIDToString.ts new file mode 100644 index 0000000..36e251b --- /dev/null +++ b/packages/server/src/helpers/convertAAGUIDToString.ts @@ -0,0 +1,18 @@ +/** + * Convert the aaguid buffer in authData into a UUID string + */ +export default function convertAAGUIDToString(aaguid: Buffer): string { + // Raw Hex: adce000235bcc60a648b0b25f1f05503 + const hex = aaguid.toString('hex'); + + const segments: string[] = [ + hex.slice(0, 8), // 8 + hex.slice(8, 12), // 4 + hex.slice(12, 16), // 4 + hex.slice(16, 20), // 4 + hex.slice(20, 32), // 8 + ]; + + // Formatted: adce0002-35bc-c60a-648b-0b25f1f05503 + return segments.join('-'); +} |