From e3d7ea29bdde3107bd5de8ff8f945a7b0acad3a1 Mon Sep 17 00:00:00 2001 From: hinashi Date: Mon, 10 Mar 2025 14:36:30 +0900 Subject: [PATCH 1/2] Added parameter to make item name a UUID --- frontend/src/pages/EntryEditPage.tsx | 4 ++++ package-lock.json | 21 +++++++++++++++++++++ package.json | 1 + 3 files changed, 26 insertions(+) diff --git a/frontend/src/pages/EntryEditPage.tsx b/frontend/src/pages/EntryEditPage.tsx index 27e9404b6..002d5236f 100644 --- a/frontend/src/pages/EntryEditPage.tsx +++ b/frontend/src/pages/EntryEditPage.tsx @@ -3,6 +3,7 @@ import { Box } from "@mui/material"; import React, { FC, useEffect, useState } from "react"; import { useForm } from "react-hook-form"; import { useNavigate } from "react-router"; +import { v4 as uuidv4 } from "uuid"; import { useAsyncWithThrow } from "../hooks/useAsyncWithThrow"; @@ -33,11 +34,13 @@ import { interface Props { excludeAttrs?: string[]; EntryForm?: FC; + useUUID?: boolean; } export const EntryEditPage: FC = ({ excludeAttrs = [], EntryForm = DefaultEntryForm, + useUUID = false, }) => { const { entityId, entryId } = useTypedParams<{ entityId: number; @@ -86,6 +89,7 @@ export const EntryEditPage: FC = ({ entity.value, excludeAttrs, ); + entryInfo.name = useUUID ? uuidv4() : ""; reset(entryInfo); setInitialized(true); } diff --git a/package-lock.json b/package-lock.json index aa42a79f2..dd783f3df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -76,6 +76,7 @@ "ts-loader": "^9.5.2", "typescript": "^5.8.2", "undici": "^5.28.5", + "uuid": "^11.1.0", "webpack": "^5.98.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^4.10.0", @@ -16736,6 +16737,20 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", @@ -29348,6 +29363,12 @@ "dev": true, "requires": {} }, + "uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "dev": true + }, "v8-to-istanbul": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", diff --git a/package.json b/package.json index 11067cda8..289e6b6f9 100644 --- a/package.json +++ b/package.json @@ -113,6 +113,7 @@ "ts-loader": "^9.5.2", "typescript": "^5.8.2", "undici": "^5.28.5", + "uuid": "^11.1.0", "webpack": "^5.98.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^4.10.0", From 582e5852fb7a063f0491d2d0a276d0cface38a05 Mon Sep 17 00:00:00 2001 From: hinashi Date: Mon, 10 Mar 2025 16:32:28 +0900 Subject: [PATCH 2/2] Fixed jest error for uuid --- jest.config.js | 3 +++ package-lock.json | 14 ++++++++++++++ package.json | 1 + 3 files changed, 18 insertions(+) diff --git a/jest.config.js b/jest.config.js index 25f70a524..9045217fe 100644 --- a/jest.config.js +++ b/jest.config.js @@ -19,6 +19,9 @@ module.exports = { "frontend/src", "node_modules" ], + moduleNameMapper: { + uuid: require.resolve('uuid') + }, transformIgnorePatterns: [], testEnvironment: "jsdom", testEnvironmentOptions: { diff --git a/package-lock.json b/package-lock.json index dd783f3df..86a08fb49 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,6 +37,7 @@ "@types/react-copy-to-clipboard": "^5.0.7", "@types/react-infinite-scroller": "^1.2.5", "@types/react-scroll": "^1.8.10", + "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "babel-loader": "^8.4.1", @@ -4929,6 +4930,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/yargs": { "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", @@ -20838,6 +20846,12 @@ "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true }, + "@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "dev": true + }, "@types/yargs": { "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", diff --git a/package.json b/package.json index 289e6b6f9..5e90a1575 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "@types/react-copy-to-clipboard": "^5.0.7", "@types/react-infinite-scroller": "^1.2.5", "@types/react-scroll": "^1.8.10", + "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "babel-loader": "^8.4.1",