Class: CmisServer::Connectors::CoreConnector
Instance Method Summary
collapse
#initialize
Instance Method Details
#find_documents(conditions = {}) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/cmis_server/connectors/core_connector.rb', line 7
def find_documents(conditions = {})
return [] unless search_service_available?
begin
search_params = convert_cmis_to_docs_search_params(conditions)
search = docs_search_class.new(search_params, user: user)
documents = search.paginated_objects
Rails.logger.info "CoreConnector: Found #{documents.count} documents with params: #{search_params}"
documents
rescue => e
Rails.logger.error "CoreConnector find_documents error: #{e.message}"
Rails.logger.error "CoreConnector find_documents backtrace: #{e.backtrace.first(5)}"
[]
end
end
|
#find_folders(conditions = {}) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/cmis_server/connectors/core_connector.rb', line 29
def find_folders(conditions = {})
return [] unless search_service_available?
begin
search_params = convert_cmis_to_spaces_search_params(conditions)
if search_params.empty?
search_params = { 'favorite' => true }
end
search = spaces_search_class.new(search_params, user: user)
folders = search.paginated_objects
Rails.logger.info "CoreConnector: Found #{folders.count} folders with params: #{search_params}"
folders
rescue => e
Rails.logger.error "CoreConnector find_folders error: #{e.message}"
Rails.logger.error "CoreConnector find_folders backtrace: #{e.backtrace.first(5)}"
[]
end
end
|
#find_object_by_id(id) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/cmis_server/connectors/core_connector.rb', line 56
def find_object_by_id(id)
Rails.logger.info "CoreConnector: Searching for object with ID: #{id}"
if id == 'core_root'
Rails.logger.info "CoreConnector: Returning root folder for ID: #{id}"
return create_root_folder_object
end
doc = find_document_by_id(id)
if doc
Rails.logger.info "CoreConnector: Found document with ID: #{id}"
return doc
end
folder = find_folder_by_id(id)
if folder
Rails.logger.info "CoreConnector: Found folder with ID: #{id}"
return folder
end
Rails.logger.warn "CoreConnector: No object found with ID: #{id}"
Rails.logger.info "CoreConnector: Available services - Doc: #{doc_class_available?}, Space: #{space_class_available?}, DocsSearch: #{docs_search_class}, SpacesSearch: #{spaces_search_class}"
nil
end
|
#find_object_by_path(path) ⇒ Object
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/cmis_server/connectors/core_connector.rb', line 84
def find_object_by_path(path)
Rails.logger.info "CoreConnector: Searching for object with path: #{path}"
if path == '/' || path.blank?
Rails.logger.info "CoreConnector: Returning root folder for path: #{path}"
return create_root_folder_object
end
find_folders({ path: path }).first
end
|
#find_root_folders ⇒ Object
98
99
100
101
|
# File 'lib/cmis_server/connectors/core_connector.rb', line 98
def find_root_folders
find_folders({})
end
|