Class: CmisServer::AtomPub::RepositoryController

Inherits:
BaseController show all
Includes:
RepositoryScopable
Defined in:
app/controllers/cmis_server/atom_pub/repository_controller.rb

Instance Method Summary collapse

Methods included from RepositoryScopable

#set_repository

Methods inherited from BaseController

#raw_post_body, #render_standard_error, #request_entry_parser

Methods inherited from CmisServer::ApplicationController

#check_auth, #context

Instance Method Details

#capabilitiesObject

GET /repositories/id/capabilities



9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/controllers/cmis_server/atom_pub/repository_controller.rb', line 9

def capabilities
  repository = repository_from_request
  capabilities = repository.capabilities
  
  # Enrichir les capabilities avec les fonctionnalités CMIS 1.1
  enhanced_capabilities = enhance_capabilities_for_cmis_1_1(capabilities)
  
  respond_to do |format|
    format.atom_entry { render "cmis_server/atom_pub/repository_capabilities", locals: { capabilities: enhanced_capabilities } }
    format.json { render json: { capabilities: enhanced_capabilities } }
  end
end

#extensionsObject

GET /repositories/id/extensions



23
24
25
26
27
28
29
30
31
# File 'app/controllers/cmis_server/atom_pub/repository_controller.rb', line 23

def extensions
  repository = repository_from_request
  extensions = repository.extensions || {}
  
  respond_to do |format|
    format.atom_entry { render "cmis_server/atom_pub/repository_extensions", locals: { extensions: extensions } }
    format.json { render json: { extensions: extensions } }
  end
end

#infoObject

GET /repositories/id/info



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'app/controllers/cmis_server/atom_pub/repository_controller.rb', line 34

def info
  repository = repository_from_request
  
  info = {
    id: repository.id,
    name: repository.name,
    description: repository.description,
    vendor_name: repository.vendor_name,
    product_name: repository.product_name,
    product_version: repository.product_version,
    cmis_version_supported: repository.cmis_version_supported,
    root_folder_id: repository.root_folder_id,
    latest_change_log_token: repository.latest_change_log_token,
    capabilities: repository.capabilities,
    acl_capabilities: repository.acl_capabilities,
    repository_specific_information: repository.repository_specific_information
  }
  
  respond_to do |format|
    format.atom_entry { render "cmis_server/atom_pub/repository_info", locals: { repository_info: info } }
    format.json { render json: { repositoryInfo: info } }
  end
end