From 3b7d52abb0e7de00bdf92ee3482a4cae1f6b7d64 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Mon, 3 Jan 2022 01:02:00 +0100 Subject: feat: Add Profile and Service stores MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the main process, it is optional to specify the ID of a Profile or a Service. The missing ID will be filled in with a randomly generated one. Moreover, services without a profile will get a profile generated with the same name. Signed-off-by: Kristóf Marussy --- packages/main/src/utils/generateId.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 packages/main/src/utils/generateId.ts (limited to 'packages/main/src/utils/generateId.ts') diff --git a/packages/main/src/utils/generateId.ts b/packages/main/src/utils/generateId.ts new file mode 100644 index 0000000..8a87e5a --- /dev/null +++ b/packages/main/src/utils/generateId.ts @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021-2022 Kristóf Marussy + * + * This file is part of Sophie. + * + * Sophie is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { nanoid } from 'nanoid'; +import slug from 'slug'; + +export default function generateId(name?: string | undefined) { + const nameSlug = typeof name === 'undefined' ? '' : slug(name); + return `${nameSlug}_${nanoid()}`; +} -- cgit v1.2.3-54-g00ecf