mirror of
https://activitypub.software/TransFem-org/Sharkey.git
synced 2024-12-16 22:39:00 +01:00
c1514ce91d
Fix #13290
25 lines
588 B
TypeScript
25 lines
588 B
TypeScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import { secureRndstr } from './secure-rndstr.js';
|
|
|
|
const CHARS = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ'; // [0-9A-Z] w/o [01IO] (32 patterns)
|
|
|
|
export function generateInviteCode(): string {
|
|
const code = secureRndstr(8, {
|
|
chars: CHARS,
|
|
});
|
|
|
|
const uniqueId = [];
|
|
let n = Math.floor(Date.now() / 1000 / 60);
|
|
while (true) {
|
|
uniqueId.push(CHARS[n % CHARS.length]);
|
|
const t = Math.floor(n / CHARS.length);
|
|
if (!t) break;
|
|
n = t;
|
|
}
|
|
|
|
return code + uniqueId.reverse().join('');
|
|
}
|