MCPcopy Create free account
hub / github.com/experdot/pointer / createFolder

Function createFolder

src/renderer/src/services/pagesService.ts:247–280  ·  view source on GitHub ↗
(
  name?: string,
  afterItemId?: string,
  inFolderId?: string
)

Source from the content-addressed store, hash-verified

245
246// 创建文件夹
247export async function createFolder(
248 name?: string,
249 afterItemId?: string,
250 inFolderId?: string
251): Promise<PageFolder> {
252 const { page, folder } = stores
253
254 let parentFolderId: string | undefined
255 let order: number
256
257 if (inFolderId) {
258 // 直接在指定文件夹中创建
259 parentFolderId = inFolderId
260 const itemsInFolder = [...page.findByFolderId(inFolderId), ...folder.findByParentId(inFolderId)]
261 order = itemsInFolder.length > 0 ? Math.max(...itemsInFolder.map((i) => i.order ?? 0)) + 1 : 0
262 } else {
263 const position = await prepareInsertPosition(afterItemId)
264 parentFolderId = position.parentFolderId
265 order = position.order
266 }
267
268 // Generate unique name among sibling folders
269 const baseName = name || '新文件夹'
270 const siblingFolders = folder.findByParentId(parentFolderId)
271 const existingNames = siblingFolders.map((f) => f.name)
272 const uniqueName = generateUniqueName(baseName, existingNames)
273
274 return folder.create({
275 name: uniqueName,
276 parentFolderId,
277 order,
278 expanded: true
279 })
280}
281
282// 更新文件夹
283export async function updateFolder(id: string, updates: Partial<PageFolder>): Promise<void> {

Callers 6

handleCreateFolderFunction · 0.85
handleCreateSubFolderFunction · 0.85
handleCreateFolderFunction · 0.85
ConfigTreeFunction · 0.85
ModelConfigPanelFunction · 0.85
LLMConfigPanelFunction · 0.85

Calls 5

generateUniqueNameFunction · 0.85
findByFolderIdMethod · 0.80
findByParentIdMethod · 0.80
createMethod · 0.80
prepareInsertPositionFunction · 0.70

Tested by

no test coverage detected