// LinkSync Collection Management // Handles collection CRUD and query execution const CollectionManager = { async listCollections() { return API.getCollections(); }, async createCollection(name, description, queryType, queryExpression, isPublic) { return API.createCollection({ name, description: description || "", query_type: queryType || "static", query_expression: queryExpression || null, is_public: isPublic || false, link_ids: [], }); }, async updateCollection(id, data) { return API.updateCollection(id, data); }, async deleteCollection(id) { return API.deleteCollection(id); }, async refreshCollection(id) { return API.refreshCollection(id); }, async addLinksToCollection(collectionId, linkIds) { return API.post(`/api/collections/${collectionId}/add-links`, linkIds); }, async removeLinksFromCollection(collectionId, linkIds) { return API.delete(`/api/collections/${collectionId}/remove-links`, { body: linkIds }); }, async executeQuery(expression, limit = 50) { return API.executeQuery(expression, limit); }, async parseQuery(expression) { return API.parseQuery(expression); }, async createDynamicCollection(name, description, queryExpression) { return this.createCollection(name, description, "dynamic", queryExpression, false); }, };