| return datasets.items, datasets.total | return datasets.items, datasets.total | ||||
| @staticmethod | @staticmethod | ||||
| def create_empty_dataset(tenant_id: str, name: str, indexing_technique: Optional[str], account: Account): | |||||
| def create_empty_dataset( | |||||
| tenant_id: str, name: str, indexing_technique: Optional[str], account: Account, permission: Optional[str] | |||||
| ): | |||||
| # check if dataset name already exists | # check if dataset name already exists | ||||
| if Dataset.query.filter_by(name=name, tenant_id=tenant_id).first(): | if Dataset.query.filter_by(name=name, tenant_id=tenant_id).first(): | ||||
| raise DatasetNameDuplicateError(f"Dataset with name {name} already exists.") | raise DatasetNameDuplicateError(f"Dataset with name {name} already exists.") | ||||
| dataset.tenant_id = tenant_id | dataset.tenant_id = tenant_id | ||||
| dataset.embedding_model_provider = embedding_model.provider if embedding_model else None | dataset.embedding_model_provider = embedding_model.provider if embedding_model else None | ||||
| dataset.embedding_model = embedding_model.model if embedding_model else None | dataset.embedding_model = embedding_model.model if embedding_model else None | ||||
| dataset.permission = permission if permission else DatasetPermissionEnum.ONLY_ME | |||||
| db.session.add(dataset) | db.session.add(dataset) | ||||
| db.session.commit() | db.session.commit() | ||||
| return dataset | return dataset |