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

Function createModelConfig

src/renderer/src/services/settingsService.ts:161–193  ·  view source on GitHub ↗
(
  data: Omit<ModelConfig, 'id' | 'createdAt' | 'order' | 'parentFolderId'>,
  afterItemId?: string,
  inFolderId?: string
)

Source from the content-addressed store, hash-verified

159// ==================== Model 配置 ====================
160
161export function createModelConfig(
162 data: Omit<ModelConfig, 'id' | 'createdAt' | 'order' | 'parentFolderId'>,
163 afterItemId?: string,
164 inFolderId?: string
165): ModelConfig {
166 const { settings } = stores
167 let parentFolderId: string | undefined
168 let order: number
169
170 if (inFolderId) {
171 parentFolderId = inFolderId
172 const itemsInFolder = [
173 ...settings.settings.modelConfigs.items.filter((i) => i.parentFolderId === inFolderId),
174 ...settings.settings.modelConfigs.folders.filter((f) => f.parentFolderId === inFolderId)
175 ]
176 order = itemsInFolder.length > 0 ? Math.max(...itemsInFolder.map((i) => i.order ?? 0)) + 1 : 0
177 } else {
178 const position = prepareInsertPosition(settings.settings.modelConfigs, afterItemId)
179 parentFolderId = position.parentFolderId
180 order = position.order
181 }
182
183 const config: ModelConfig = {
184 ...data,
185 id: uuidv4(),
186 parentFolderId,
187 order,
188 createdAt: Date.now()
189 }
190
191 settings.addModelConfig(config)
192 return config
193}
194
195export function updateModelConfig(id: string, updates: Partial<ModelConfig>): void {
196 stores.settings.updateModelConfig(id, updates)

Callers 1

copyModelConfigFunction · 0.85

Calls 2

addModelConfigMethod · 0.80
prepareInsertPositionFunction · 0.70

Tested by

no test coverage detected