* refactoring the bridge * Update aec submodule * folder structure refactor * fixing ask logic * resolve import err * fix askview * fix header content html path * fix systemaudiodump path * centralized ask logic * delete legacy code * change askservice to class * settingsService facade * fix getCurrentModelInfo * common service ipc moved to featureBridge * featureBridge init * ui fix * add featureBridge func for listenservice * fix preload conflict * shortcuts seperated * refactor ask * transfer roles from askview to askservice * modifying windowBridge * delete legacy ask code * retrieve conversation history for askserice * fix legacy code * shortcut moved * change naming for featurebridge * screenshot moved from windowManager * rough refactor done --------- Co-authored-by: sanio <sanio@pickle.com> Co-authored-by: jhyang0 <junhyuck0819@gmail.com>
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
const BaseModelRepository = require('../baseModel');
|
|
|
|
class WhisperModelRepository extends BaseModelRepository {
|
|
constructor(db, tableName = 'whisper_models') {
|
|
super(db, tableName);
|
|
}
|
|
|
|
async initializeModels(availableModels) {
|
|
const existingModels = await this.getAll();
|
|
const existingIds = new Set(existingModels.map(m => m.id));
|
|
|
|
for (const [modelId, modelInfo] of Object.entries(availableModels)) {
|
|
if (!existingIds.has(modelId)) {
|
|
await this.create({
|
|
id: modelId,
|
|
name: modelInfo.name,
|
|
size: modelInfo.size,
|
|
installed: 0,
|
|
installing: 0
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
async getInstalledModels() {
|
|
return this.findAll({ installed: 1 });
|
|
}
|
|
|
|
async setInstalled(modelId, installed = true) {
|
|
return this.update({ id: modelId }, {
|
|
installed: installed ? 1 : 0,
|
|
installing: 0
|
|
});
|
|
}
|
|
|
|
async setInstalling(modelId, installing = true) {
|
|
return this.update({ id: modelId }, {
|
|
installing: installing ? 1 : 0
|
|
});
|
|
}
|
|
|
|
async isInstalled(modelId) {
|
|
const model = await this.findOne({ id: modelId });
|
|
return model && model.installed === 1;
|
|
}
|
|
|
|
async isInstalling(modelId) {
|
|
const model = await this.findOne({ id: modelId });
|
|
return model && model.installing === 1;
|
|
}
|
|
}
|
|
|
|
module.exports = WhisperModelRepository; |