groupdocs 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.travis.yml +9 -9
- data/CHANGELOG.md +482 -477
- data/Gemfile +3 -3
- data/LICENSE.txt +21 -21
- data/README.md +94 -94
- data/Rakefile +9 -9
- data/examples/README.md +12 -12
- data/examples/api-samples/Gemfile +5 -5
- data/examples/api-samples/Gemfile.lock +49 -49
- data/examples/api-samples/README.md +23 -23
- data/examples/api-samples/public/css/style.css +229 -229
- data/examples/api-samples/public/docs/annotation-sample.html +167 -167
- data/examples/api-samples/public/docs/docco.css +500 -500
- data/examples/api-samples/public/docs/envelope-sample.html +374 -374
- data/examples/api-samples/public/docs/sample01.html +181 -181
- data/examples/api-samples/public/docs/sample02.html +199 -199
- data/examples/api-samples/public/docs/sample03.html +318 -318
- data/examples/api-samples/public/docs/sample04.html +217 -217
- data/examples/api-samples/public/docs/sample05.html +296 -296
- data/examples/api-samples/public/docs/sample06.html +347 -347
- data/examples/api-samples/public/docs/sample07.html +209 -209
- data/examples/api-samples/public/docs/sample08.html +277 -277
- data/examples/api-samples/public/docs/sample09.html +314 -314
- data/examples/api-samples/public/docs/sample10.html +270 -270
- data/examples/api-samples/public/docs/sample11.html +462 -462
- data/examples/api-samples/public/docs/sample12.html +199 -199
- data/examples/api-samples/public/docs/sample13.html +201 -201
- data/examples/api-samples/public/docs/sample14.html +204 -204
- data/examples/api-samples/public/docs/sample15.html +182 -182
- data/examples/api-samples/public/docs/sample16.html +234 -234
- data/examples/api-samples/public/docs/sample17.html +309 -309
- data/examples/api-samples/public/docs/sample18.html +721 -721
- data/examples/api-samples/public/docs/sample19.html +631 -631
- data/examples/api-samples/public/docs/sample20.html +230 -230
- data/examples/api-samples/public/docs/sample21.html +790 -790
- data/examples/api-samples/public/docs/sample22.html +408 -408
- data/examples/api-samples/public/docs/sample25.html +550 -550
- data/examples/api-samples/public/templates/base-simple_source.html +191 -191
- data/examples/api-samples/public/templates/testdocument.html +100 -100
- data/examples/api-samples/public/templates/welcome.htm +137 -137
- data/examples/api-samples/samples/annotation-sample.rb +56 -56
- data/examples/api-samples/samples/envelope-sample.rb +133 -133
- data/examples/api-samples/samples/sample01.rb +44 -44
- data/examples/api-samples/samples/sample02.rb +50 -50
- data/examples/api-samples/samples/sample03.rb +79 -79
- data/examples/api-samples/samples/sample04.rb +54 -54
- data/examples/api-samples/samples/sample05.rb +83 -83
- data/examples/api-samples/samples/sample06.rb +86 -86
- data/examples/api-samples/samples/sample07.rb +59 -59
- data/examples/api-samples/samples/sample08.rb +76 -76
- data/examples/api-samples/samples/sample09.rb +85 -85
- data/examples/api-samples/samples/sample10.rb +70 -70
- data/examples/api-samples/samples/sample11.rb +132 -132
- data/examples/api-samples/samples/sample12.rb +48 -48
- data/examples/api-samples/samples/sample13.rb +49 -49
- data/examples/api-samples/samples/sample14.rb +54 -54
- data/examples/api-samples/samples/sample15.rb +43 -43
- data/examples/api-samples/samples/sample16.rb +57 -57
- data/examples/api-samples/samples/sample17.rb +70 -70
- data/examples/api-samples/samples/sample18.rb +190 -190
- data/examples/api-samples/samples/sample19.rb +188 -188
- data/examples/api-samples/samples/sample20.rb +68 -68
- data/examples/api-samples/samples/sample21.rb +212 -212
- data/examples/api-samples/samples/sample22.rb +109 -109
- data/examples/api-samples/samples/sample25.rb +127 -127
- data/examples/api-samples/views/_others_samples.haml +233 -233
- data/examples/api-samples/views/annotation_sample.haml +63 -63
- data/examples/api-samples/views/envelope_sample.haml +72 -72
- data/examples/api-samples/views/index.haml +235 -235
- data/examples/api-samples/views/layout.haml +3 -3
- data/examples/api-samples/views/sample01.haml +63 -63
- data/examples/api-samples/views/sample02.haml +52 -52
- data/examples/api-samples/views/sample03.haml +87 -87
- data/examples/api-samples/views/sample04.haml +55 -55
- data/examples/api-samples/views/sample05.haml +86 -86
- data/examples/api-samples/views/sample06.haml +58 -58
- data/examples/api-samples/views/sample07.haml +52 -52
- data/examples/api-samples/views/sample08.haml +100 -100
- data/examples/api-samples/views/sample09.haml +95 -95
- data/examples/api-samples/views/sample10.haml +93 -93
- data/examples/api-samples/views/sample11.haml +140 -140
- data/examples/api-samples/views/sample12.haml +68 -68
- data/examples/api-samples/views/sample13.haml +64 -64
- data/examples/api-samples/views/sample14.haml +60 -60
- data/examples/api-samples/views/sample15.haml +51 -51
- data/examples/api-samples/views/sample16.haml +50 -50
- data/examples/api-samples/views/sample17.haml +54 -54
- data/examples/api-samples/views/sample18.haml +143 -143
- data/examples/api-samples/views/sample19.haml +92 -92
- data/examples/api-samples/views/sample20.haml +54 -54
- data/examples/api-samples/views/sample21.haml +123 -123
- data/examples/api-samples/views/sample22.haml +106 -106
- data/examples/api-samples/views/sample25.haml +101 -101
- data/examples/api-samples/views/sample31.haml +2 -2
- data/examples/api-samples/web.rb +20 -20
- data/examples/viewer/Gemfile +5 -5
- data/examples/viewer/app.rb +52 -52
- data/groupdocs.gemspec +31 -31
- data/lib/groupdocs.rb +62 -62
- data/lib/groupdocs/api.rb +6 -6
- data/lib/groupdocs/api/entity.rb +112 -112
- data/lib/groupdocs/api/helpers.rb +11 -11
- data/lib/groupdocs/api/helpers/access_mode_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/access_rights_helper.rb +55 -55
- data/lib/groupdocs/api/helpers/accessor_helper.rb +30 -30
- data/lib/groupdocs/api/helpers/byte_flag_helper.rb +49 -49
- data/lib/groupdocs/api/helpers/credentials_helper.rb +35 -35
- data/lib/groupdocs/api/helpers/mime_helper.rb +21 -21
- data/lib/groupdocs/api/helpers/path_helper.rb +28 -28
- data/lib/groupdocs/api/helpers/rest_helper.rb +99 -99
- data/lib/groupdocs/api/helpers/signature_public_helper.rb +22 -22
- data/lib/groupdocs/api/helpers/status_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/url_helper.rb +101 -101
- data/lib/groupdocs/api/request.rb +91 -91
- data/lib/groupdocs/datasource.rb +249 -249
- data/lib/groupdocs/datasource/field.rb +39 -39
- data/lib/groupdocs/document.rb +1550 -1550
- data/lib/groupdocs/document/annotation.rb +421 -421
- data/lib/groupdocs/document/annotation/reply.rb +173 -173
- data/lib/groupdocs/document/annotation/reviewer.rb +66 -66
- data/lib/groupdocs/document/change.rb +56 -56
- data/lib/groupdocs/document/field.rb +53 -53
- data/lib/groupdocs/document/metadata.rb +32 -32
- data/lib/groupdocs/document/rectangle.rb +18 -18
- data/lib/groupdocs/document/view.rb +36 -36
- data/lib/groupdocs/errors.rb +8 -8
- data/lib/groupdocs/job.rb +468 -468
- data/lib/groupdocs/questionnaire.rb +530 -530
- data/lib/groupdocs/questionnaire/collector.rb +335 -335
- data/lib/groupdocs/questionnaire/execution.rb +181 -181
- data/lib/groupdocs/questionnaire/page.rb +43 -43
- data/lib/groupdocs/questionnaire/question.rb +108 -108
- data/lib/groupdocs/questionnaire/question/answer.rb +15 -15
- data/lib/groupdocs/signature.rb +380 -380
- data/lib/groupdocs/signature/contact.rb +181 -181
- data/lib/groupdocs/signature/envelope.rb +747 -747
- data/lib/groupdocs/signature/envelope/log.rb +20 -20
- data/lib/groupdocs/signature/field.rb +286 -286
- data/lib/groupdocs/signature/field/location.rb +71 -71
- data/lib/groupdocs/signature/form.rb +804 -804
- data/lib/groupdocs/signature/list.rb +92 -92
- data/lib/groupdocs/signature/recipient.rb +79 -79
- data/lib/groupdocs/signature/role.rb +54 -54
- data/lib/groupdocs/signature/shared.rb +6 -6
- data/lib/groupdocs/signature/shared/document_methods.rb +158 -158
- data/lib/groupdocs/signature/shared/entity_fields.rb +76 -76
- data/lib/groupdocs/signature/shared/entity_methods.rb +144 -144
- data/lib/groupdocs/signature/shared/field_methods.rb +354 -354
- data/lib/groupdocs/signature/shared/recipient_methods.rb +75 -75
- data/lib/groupdocs/signature/shared/resource_methods.rb +65 -65
- data/lib/groupdocs/signature/template.rb +124 -124
- data/lib/groupdocs/storage.rb +44 -44
- data/lib/groupdocs/storage/file.rb +432 -432
- data/lib/groupdocs/storage/folder.rb +288 -288
- data/lib/groupdocs/storage/package.rb +48 -48
- data/lib/groupdocs/storage/provider.rb +32 -32
- data/lib/groupdocs/subscription.rb +323 -323
- data/lib/groupdocs/subscription/limit.rb +20 -20
- data/lib/groupdocs/user.rb +955 -930
- data/lib/groupdocs/version.rb +3 -3
- data/spec/groupdocs/api/entity_spec.rb +55 -55
- data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +43 -43
- data/spec/groupdocs/api/helpers/accessor_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +23 -23
- data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +48 -48
- data/spec/groupdocs/api/helpers/mime_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/path_helper_spec.rb +15 -15
- data/spec/groupdocs/api/helpers/rest_helper_spec.rb +161 -161
- data/spec/groupdocs/api/helpers/signature_public_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/status_helper_spec.rb +22 -22
- data/spec/groupdocs/api/helpers/url_helper_spec.rb +112 -112
- data/spec/groupdocs/api/request_spec.rb +112 -112
- data/spec/groupdocs/datasource/field_spec.rb +29 -29
- data/spec/groupdocs/datasource_spec.rb +145 -145
- data/spec/groupdocs/document/annotation/reply_spec.rb +154 -154
- data/spec/groupdocs/document/annotation/reviewer_spec.rb +51 -51
- data/spec/groupdocs/document/annotation_spec.rb +234 -234
- data/spec/groupdocs/document/change_spec.rb +39 -39
- data/spec/groupdocs/document/field_spec.rb +28 -28
- data/spec/groupdocs/document/metadata_spec.rb +21 -21
- data/spec/groupdocs/document/rectangle_spec.rb +14 -14
- data/spec/groupdocs/document/view_spec.rb +33 -33
- data/spec/groupdocs/document_spec.rb +859 -859
- data/spec/groupdocs/errors_spec.rb +7 -7
- data/spec/groupdocs/job_spec.rb +323 -323
- data/spec/groupdocs/questionnaire/collector_spec.rb +197 -197
- data/spec/groupdocs/questionnaire/execution_spec.rb +162 -162
- data/spec/groupdocs/questionnaire/page_spec.rb +47 -47
- data/spec/groupdocs/questionnaire/question/answer_spec.rb +9 -9
- data/spec/groupdocs/questionnaire/question_spec.rb +75 -75
- data/spec/groupdocs/questionnaire_spec.rb +295 -295
- data/spec/groupdocs/signature/contact_spec.rb +142 -142
- data/spec/groupdocs/signature/envelope/log_spec.rb +15 -15
- data/spec/groupdocs/signature/envelope_spec.rb +384 -384
- data/spec/groupdocs/signature/field/location_spec.rb +40 -40
- data/spec/groupdocs/signature/field_spec.rb +235 -235
- data/spec/groupdocs/signature/form_spec.rb +205 -205
- data/spec/groupdocs/signature/list_spec.rb +87 -87
- data/spec/groupdocs/signature/recipient_spec.rb +26 -26
- data/spec/groupdocs/signature/role_spec.rb +47 -47
- data/spec/groupdocs/signature/template_spec.rb +80 -80
- data/spec/groupdocs/signature_spec.rb +194 -194
- data/spec/groupdocs/storage/file_spec.rb +303 -303
- data/spec/groupdocs/storage/folder_spec.rb +270 -270
- data/spec/groupdocs/storage/package_spec.rb +38 -38
- data/spec/groupdocs/storage/provider_spec.rb +21 -21
- data/spec/groupdocs/storage_spec.rb +27 -27
- data/spec/groupdocs/subscription/limit_spec.rb +16 -16
- data/spec/groupdocs/subscription_spec.rb +74 -74
- data/spec/groupdocs/user_spec.rb +257 -257
- data/spec/groupdocs_spec.rb +63 -63
- data/spec/spec_helper.rb +73 -73
- data/spec/support/json/annotation_access_set.json +11 -11
- data/spec/support/json/annotation_collaborators_get.json +16 -16
- data/spec/support/json/annotation_collaborators_set.json +16 -16
- data/spec/support/json/annotation_create.json +12 -12
- data/spec/support/json/annotation_list.json +32 -32
- data/spec/support/json/annotation_marker_move.json +10 -10
- data/spec/support/json/annotation_move.json +8 -8
- data/spec/support/json/annotation_remove.json +9 -9
- data/spec/support/json/annotation_replies_create.json +9 -9
- data/spec/support/json/annotation_replies_get.json +25 -25
- data/spec/support/json/annotation_reviewers_get.json +18 -18
- data/spec/support/json/comparison_changes.json +46 -46
- data/spec/support/json/comparison_compare.json +8 -8
- data/spec/support/json/comparison_document.json +10 -10
- data/spec/support/json/contact_add.json +12 -12
- data/spec/support/json/contacts_get.json +19 -19
- data/spec/support/json/contacts_import.json +8 -8
- data/spec/support/json/datasource_add.json +8 -8
- data/spec/support/json/datasource_get.json +22 -22
- data/spec/support/json/datasource_remove.json +8 -8
- data/spec/support/json/datasource_update.json +8 -8
- data/spec/support/json/delete_account.json +9 -9
- data/spec/support/json/document_access_info_get.json +14 -14
- data/spec/support/json/document_convert.json +8 -8
- data/spec/support/json/document_datasource.json +10 -10
- data/spec/support/json/document_fields.json +34 -34
- data/spec/support/json/document_formats.json +8 -8
- data/spec/support/json/document_metadata.json +15 -15
- data/spec/support/json/document_page_images_get.json +20 -20
- data/spec/support/json/document_questionnaire_create.json +9 -9
- data/spec/support/json/document_questionnaires.json +23 -23
- data/spec/support/json/document_sharers_remove.json +8 -8
- data/spec/support/json/document_sharers_set.json +16 -16
- data/spec/support/json/document_thumbnails.json +24 -24
- data/spec/support/json/document_views.json +32 -32
- data/spec/support/json/envelope_get.json +46 -46
- data/spec/support/json/envelope_logs.json +16 -16
- data/spec/support/json/envelope_recipient_add.json +26 -26
- data/spec/support/json/envelopes_all.json +48 -48
- data/spec/support/json/envelopes_resources.json +31 -31
- data/spec/support/json/file_compress.json +8 -8
- data/spec/support/json/file_copy.json +14 -14
- data/spec/support/json/file_delete.json +5 -5
- data/spec/support/json/file_move.json +14 -14
- data/spec/support/json/file_upload.json +8 -8
- data/spec/support/json/folder_create.json +8 -8
- data/spec/support/json/folder_delete.json +5 -5
- data/spec/support/json/folder_list.json +22 -22
- data/spec/support/json/folder_move.json +8 -8
- data/spec/support/json/folder_sharers_get.json +16 -16
- data/spec/support/json/folder_sharers_remove.json +8 -8
- data/spec/support/json/folder_sharers_set.json +16 -16
- data/spec/support/json/form_get.json +21 -21
- data/spec/support/json/forms_all.json +23 -23
- data/spec/support/json/job_add_url.json +8 -8
- data/spec/support/json/job_create.json +8 -8
- data/spec/support/json/job_documents.json +40 -40
- data/spec/support/json/job_file_add.json +8 -8
- data/spec/support/json/job_get.json +30 -30
- data/spec/support/json/job_update.json +7 -7
- data/spec/support/json/jobs_get.json +58 -58
- data/spec/support/json/list_add.json +12 -12
- data/spec/support/json/lists_get.json +19 -19
- data/spec/support/json/package_create.json +7 -7
- data/spec/support/json/questionnaire_collector.json +17 -17
- data/spec/support/json/questionnaire_collectors.json +38 -38
- data/spec/support/json/questionnaire_collectors_add.json +10 -10
- data/spec/support/json/questionnaire_create.json +10 -10
- data/spec/support/json/questionnaire_datasources.json +26 -26
- data/spec/support/json/questionnaire_execution_add.json +9 -9
- data/spec/support/json/questionnaire_execution_status_set.json +8 -8
- data/spec/support/json/questionnaire_execution_update.json +8 -8
- data/spec/support/json/questionnaire_executions.json +28 -28
- data/spec/support/json/questionnaire_get.json +17 -17
- data/spec/support/json/questionnaire_remove.json +8 -8
- data/spec/support/json/questionnaire_update.json +8 -8
- data/spec/support/json/questionnaires_get.json +40 -40
- data/spec/support/json/sign_documents.json +16 -16
- data/spec/support/json/signature_create.json +12 -12
- data/spec/support/json/signature_field_add.json +25 -25
- data/spec/support/json/signature_fields_get.json +27 -27
- data/spec/support/json/signature_roles_get.json +17 -17
- data/spec/support/json/signatures_get.json +19 -19
- data/spec/support/json/storage_info.json +10 -10
- data/spec/support/json/subscription_plan_get.json +9 -9
- data/spec/support/json/subscription_plans_get.json +17 -17
- data/spec/support/json/template_get.json +35 -35
- data/spec/support/json/template_get_documents.json +15 -15
- data/spec/support/json/template_get_recipients.json +20 -20
- data/spec/support/json/templates_all.json +37 -37
- data/spec/support/json/templates_get.json +21 -21
- data/spec/support/json/update_account.json +10 -10
- data/spec/support/json/user_area.json +67 -67
- data/spec/support/json/user_embed_key.json +38 -38
- data/spec/support/json/user_get_embed_key.json +67 -67
- data/spec/support/json/user_login.json +67 -67
- data/spec/support/json/user_profile_get.json +24 -24
- data/spec/support/json/user_providers.json +31 -31
- data/spec/support/json/user_roles.json +25 -25
- data/spec/support/json/user_users_get.json +27 -27
- data/spec/support/shared_examples/api/entity.rb +39 -39
- data/spec/support/shared_examples/api/helpers/access_mode_helper.rb +11 -11
- data/spec/support/shared_examples/api/helpers/status_helper.rb +11 -11
- data/spec/support/shared_examples/signature/shared/document_methods.rb +68 -68
- data/spec/support/shared_examples/signature/shared/entity_fields.rb +56 -56
- data/spec/support/shared_examples/signature/shared/entity_methods.rb +116 -116
- data/spec/support/shared_examples/signature/shared/field_methods.rb +220 -220
- data/spec/support/shared_examples/signature/shared/recipient_methods.rb +46 -46
- data/spec/support/shared_examples/signature/shared/resource_methods.rb +46 -46
- metadata +35 -55
@@ -1,109 +1,109 @@
|
|
1
|
-
#GET request
|
2
|
-
get '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
|
3
|
-
haml :sample22
|
4
|
-
end
|
5
|
-
|
6
|
-
#POST request
|
7
|
-
post '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
|
8
|
-
#Set variables
|
9
|
-
set :client_id, params[:clientId]
|
10
|
-
set :private_key, params[:privateKey]
|
11
|
-
set :fileId, params[:fileId]
|
12
|
-
set :email, params[:email]
|
13
|
-
set :first_name, params[:firstName]
|
14
|
-
set :last_name, params[:lastName]
|
15
|
-
set :base_path, params[:basePath]
|
16
|
-
set :url, params[:url]
|
17
|
-
set :source, params[:source]
|
18
|
-
|
19
|
-
|
20
|
-
begin
|
21
|
-
|
22
|
-
#Check required variables
|
23
|
-
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name.empty?
|
24
|
-
|
25
|
-
#Prepare base path
|
26
|
-
if settings.base_path.empty?
|
27
|
-
base_path = 'https://api.groupdocs.com'
|
28
|
-
elsif settings.base_path.match('/v2.0')
|
29
|
-
base_path = settings.base_path.split('/v2.0')[0]
|
30
|
-
else
|
31
|
-
base_path = settings.base_path
|
32
|
-
end
|
33
|
-
|
34
|
-
#Configure your access to API server
|
35
|
-
GroupDocs.configure do |groupdocs|
|
36
|
-
groupdocs.client_id = settings.client_id
|
37
|
-
groupdocs.private_key = settings.private_key
|
38
|
-
#Optionally specify API server and version
|
39
|
-
groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
|
40
|
-
end
|
41
|
-
file = nil
|
42
|
-
|
43
|
-
#Get document by file GUID
|
44
|
-
case settings.source
|
45
|
-
when 'guid'
|
46
|
-
#Create instance of File
|
47
|
-
file = GroupDocs::Storage::File.new({:guid => settings.fileId})
|
48
|
-
when 'local'
|
49
|
-
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
50
|
-
#Open file
|
51
|
-
File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
52
|
-
#Make a request to API using client_id and private_key
|
53
|
-
file = GroupDocs::Storage::File.upload!(filepath, {})
|
54
|
-
when 'url'
|
55
|
-
#Upload file from defined url
|
56
|
-
file = GroupDocs::Storage::File.upload_web!(settings.url)
|
57
|
-
else
|
58
|
-
raise 'Wrong GUID source.'
|
59
|
-
end
|
60
|
-
|
61
|
-
|
62
|
-
file = file.to_document
|
63
|
-
#Create new user
|
64
|
-
user = GroupDocs::User.new
|
65
|
-
|
66
|
-
user.primary_email = settings.email
|
67
|
-
user.nickname = settings.email
|
68
|
-
user.first_name = settings.first_name
|
69
|
-
user.last_name = settings.last_name
|
70
|
-
|
71
|
-
user.roles = [{:id => '3', :name => 'User'}]
|
72
|
-
#Update account
|
73
|
-
new_user = GroupDocs::User.update_account!(user)
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
#Set new collaboration
|
78
|
-
file.set_collaborators!([settings.email], 2)
|
79
|
-
|
80
|
-
#Get all collaborations
|
81
|
-
collaborations = file.collaborators!()
|
82
|
-
|
83
|
-
#Set document reviewers
|
84
|
-
file.set_reviewers!(collaborations)
|
85
|
-
|
86
|
-
#Prepare to sign url
|
87
|
-
iframe = "/document-annotation2/embed/#{file.file.guid}?uid = #{new_user.guid}&download=true"
|
88
|
-
# Construct result string
|
89
|
-
url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
|
90
|
-
#Generate iframe URL
|
91
|
-
case base_path
|
92
|
-
when 'https://stage-api-groupdocs.dynabic.com'
|
93
|
-
iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
|
94
|
-
when 'https://dev-api-groupdocs.dynabic.com'
|
95
|
-
iframe = "https://dev-apps.groupdocs.com#{url}"
|
96
|
-
else
|
97
|
-
iframe = "https://apps.groupdocs.com#{url}"
|
98
|
-
end
|
99
|
-
|
100
|
-
#Make iframe
|
101
|
-
iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
|
102
|
-
|
103
|
-
rescue Exception => e
|
104
|
-
err = e.message
|
105
|
-
end
|
106
|
-
|
107
|
-
#Set variables for template
|
108
|
-
haml :sample22, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.fileId, :email => settings.email, :firstName => settings.first_name, :lastName => settings.last_name, :iframe => iframe, :err => err}
|
109
|
-
end
|
1
|
+
#GET request
|
2
|
+
get '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
|
3
|
+
haml :sample22
|
4
|
+
end
|
5
|
+
|
6
|
+
#POST request
|
7
|
+
post '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
|
8
|
+
#Set variables
|
9
|
+
set :client_id, params[:clientId]
|
10
|
+
set :private_key, params[:privateKey]
|
11
|
+
set :fileId, params[:fileId]
|
12
|
+
set :email, params[:email]
|
13
|
+
set :first_name, params[:firstName]
|
14
|
+
set :last_name, params[:lastName]
|
15
|
+
set :base_path, params[:basePath]
|
16
|
+
set :url, params[:url]
|
17
|
+
set :source, params[:source]
|
18
|
+
|
19
|
+
|
20
|
+
begin
|
21
|
+
|
22
|
+
#Check required variables
|
23
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name.empty?
|
24
|
+
|
25
|
+
#Prepare base path
|
26
|
+
if settings.base_path.empty?
|
27
|
+
base_path = 'https://api.groupdocs.com'
|
28
|
+
elsif settings.base_path.match('/v2.0')
|
29
|
+
base_path = settings.base_path.split('/v2.0')[0]
|
30
|
+
else
|
31
|
+
base_path = settings.base_path
|
32
|
+
end
|
33
|
+
|
34
|
+
#Configure your access to API server
|
35
|
+
GroupDocs.configure do |groupdocs|
|
36
|
+
groupdocs.client_id = settings.client_id
|
37
|
+
groupdocs.private_key = settings.private_key
|
38
|
+
#Optionally specify API server and version
|
39
|
+
groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
|
40
|
+
end
|
41
|
+
file = nil
|
42
|
+
|
43
|
+
#Get document by file GUID
|
44
|
+
case settings.source
|
45
|
+
when 'guid'
|
46
|
+
#Create instance of File
|
47
|
+
file = GroupDocs::Storage::File.new({:guid => settings.fileId})
|
48
|
+
when 'local'
|
49
|
+
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
50
|
+
#Open file
|
51
|
+
File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
52
|
+
#Make a request to API using client_id and private_key
|
53
|
+
file = GroupDocs::Storage::File.upload!(filepath, {})
|
54
|
+
when 'url'
|
55
|
+
#Upload file from defined url
|
56
|
+
file = GroupDocs::Storage::File.upload_web!(settings.url)
|
57
|
+
else
|
58
|
+
raise 'Wrong GUID source.'
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
file = file.to_document
|
63
|
+
#Create new user
|
64
|
+
user = GroupDocs::User.new
|
65
|
+
|
66
|
+
user.primary_email = settings.email
|
67
|
+
user.nickname = settings.email
|
68
|
+
user.first_name = settings.first_name
|
69
|
+
user.last_name = settings.last_name
|
70
|
+
|
71
|
+
user.roles = [{:id => '3', :name => 'User'}]
|
72
|
+
#Update account
|
73
|
+
new_user = GroupDocs::User.update_account!(user)
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
#Set new collaboration
|
78
|
+
file.set_collaborators!([settings.email], 2)
|
79
|
+
|
80
|
+
#Get all collaborations
|
81
|
+
collaborations = file.collaborators!()
|
82
|
+
|
83
|
+
#Set document reviewers
|
84
|
+
file.set_reviewers!(collaborations)
|
85
|
+
|
86
|
+
#Prepare to sign url
|
87
|
+
iframe = "/document-annotation2/embed/#{file.file.guid}?uid = #{new_user.guid}&download=true"
|
88
|
+
# Construct result string
|
89
|
+
url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
|
90
|
+
#Generate iframe URL
|
91
|
+
case base_path
|
92
|
+
when 'https://stage-api-groupdocs.dynabic.com'
|
93
|
+
iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
|
94
|
+
when 'https://dev-api-groupdocs.dynabic.com'
|
95
|
+
iframe = "https://dev-apps.groupdocs.com#{url}"
|
96
|
+
else
|
97
|
+
iframe = "https://apps.groupdocs.com#{url}"
|
98
|
+
end
|
99
|
+
|
100
|
+
#Make iframe
|
101
|
+
iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
|
102
|
+
|
103
|
+
rescue Exception => e
|
104
|
+
err = e.message
|
105
|
+
end
|
106
|
+
|
107
|
+
#Set variables for template
|
108
|
+
haml :sample22, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.fileId, :email => settings.email, :firstName => settings.first_name, :lastName => settings.last_name, :iframe => iframe, :err => err}
|
109
|
+
end
|
@@ -1,128 +1,128 @@
|
|
1
|
-
#GET request
|
2
|
-
get '/sample-25-how-to-merge-assemble-and-convert-document' do
|
3
|
-
haml :sample25
|
4
|
-
end
|
5
|
-
|
6
|
-
#POST request
|
7
|
-
post '/sample-25-how-to-merge-assemble-and-convert-document' do
|
8
|
-
#Set variables
|
9
|
-
set :client_id, params[:clientId]
|
10
|
-
set :private_key, params[:privateKey]
|
11
|
-
set :source, params[:source]
|
12
|
-
set :file_id, params[:fileId]
|
13
|
-
set :url, params[:url]
|
14
|
-
set :base_path, params[:basePath]
|
15
|
-
|
16
|
-
#Set download path
|
17
|
-
downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
|
18
|
-
|
19
|
-
#Remove all files from download directory or create folder if it not there
|
20
|
-
if File.directory?(downloads_path)
|
21
|
-
Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
|
22
|
-
else
|
23
|
-
Dir::mkdir(downloads_path)
|
24
|
-
end
|
25
|
-
|
26
|
-
begin
|
27
|
-
#Check required variables
|
28
|
-
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
29
|
-
|
30
|
-
#Prepare base path
|
31
|
-
if settings.base_path.empty?
|
32
|
-
base_path = 'https://api.groupdocs.com'
|
33
|
-
elsif settings.base_path.match('/v2.0')
|
34
|
-
base_path = settings.base_path.split('/v2.0')[0]
|
35
|
-
else
|
36
|
-
base_path = settings.base_path
|
37
|
-
end
|
38
|
-
|
39
|
-
#Configure your access to API server
|
40
|
-
GroupDocs.configure do |groupdocs|
|
41
|
-
groupdocs.client_id = settings.client_id
|
42
|
-
groupdocs.private_key = settings.private_key
|
43
|
-
#Optionally specify API server and version
|
44
|
-
groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
|
45
|
-
end
|
46
|
-
|
47
|
-
#Get document by file GUID
|
48
|
-
case settings.source
|
49
|
-
when 'guid'
|
50
|
-
#Create instance of File
|
51
|
-
file = GroupDocs::Storage::File.new({:guid => settings.file_id})
|
52
|
-
when 'local'
|
53
|
-
#Construct path
|
54
|
-
file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
55
|
-
#Open file
|
56
|
-
File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
57
|
-
#Make a request to API using client_id and private_key
|
58
|
-
file = GroupDocs::Storage::File.upload!(file_path, {})
|
59
|
-
when 'url'
|
60
|
-
#Upload file from defined url
|
61
|
-
file = GroupDocs::Storage::File.upload_web!(settings.url)
|
62
|
-
else
|
63
|
-
raise 'Wrong GUID source.'
|
64
|
-
end
|
65
|
-
|
66
|
-
#Raise exception if something went wrong
|
67
|
-
raise 'No such file' unless file.is_a?(GroupDocs::Storage::File)
|
68
|
-
|
69
|
-
#Make GroupDocs::Storage::Document instance
|
70
|
-
document = file.to_document
|
71
|
-
|
72
|
-
#Create datasource with fields
|
73
|
-
datasource = GroupDocs::DataSource.new
|
74
|
-
|
75
|
-
#Get arry of document's fields
|
76
|
-
fields = document.fields!()
|
77
|
-
|
78
|
-
#Create Field instance and fill the fields
|
79
|
-
datasource.fields = fields.map { |field| GroupDocs::DataSource::Field.new(name: field.name, type: :text, values: %w(value1 value2)) }
|
80
|
-
|
81
|
-
#Adds datasource.
|
82
|
-
datasource.add!()
|
83
|
-
|
84
|
-
|
85
|
-
#Creates new job to merge datasource into document.
|
86
|
-
job = document.datasource!(datasource, {:new_type => 'pdf'})
|
87
|
-
sleep 10 # wait for merge and convert
|
88
|
-
|
89
|
-
#Returns an hash of input and output documents associated to job.
|
90
|
-
document = job.documents!()
|
91
|
-
|
92
|
-
#Download file
|
93
|
-
document[:inputs][0].outputs[0].download!("#{File.dirname(__FILE__)}/../public/downloads")
|
94
|
-
|
95
|
-
#Set converted document GUID
|
96
|
-
guid = document[:inputs][0].outputs[0].guid
|
97
|
-
#Set converted document Name
|
98
|
-
file_name = document[:inputs][0].outputs[0].name
|
99
|
-
|
100
|
-
#Prepare to sign url
|
101
|
-
iframe = "/document-viewer/embed/#{guid}"
|
102
|
-
# Construct result string
|
103
|
-
url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
|
104
|
-
#Generate iframe URL
|
105
|
-
case base_path
|
106
|
-
when 'https://stage-api-groupdocs.dynabic.com'
|
107
|
-
iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
|
108
|
-
when 'https://dev-api-groupdocs.dynabic.com'
|
109
|
-
iframe = "https://dev-apps.groupdocs.com#{url}"
|
110
|
-
else
|
111
|
-
iframe = "https://apps.groupdocs.com#{url}"
|
112
|
-
end
|
113
|
-
|
114
|
-
#Set iframe with document GUID or raise an error
|
115
|
-
if guid
|
116
|
-
#Make iframe
|
117
|
-
iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
|
118
|
-
else
|
119
|
-
raise 'File was not converted'
|
120
|
-
end
|
121
|
-
|
122
|
-
rescue Exception => e
|
123
|
-
err = e.message
|
124
|
-
end
|
125
|
-
|
126
|
-
#Set variables for template
|
127
|
-
haml :sample25, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :fileName => file_name, :err => err}
|
1
|
+
#GET request
|
2
|
+
get '/sample-25-how-to-merge-assemble-and-convert-document' do
|
3
|
+
haml :sample25
|
4
|
+
end
|
5
|
+
|
6
|
+
#POST request
|
7
|
+
post '/sample-25-how-to-merge-assemble-and-convert-document' do
|
8
|
+
#Set variables
|
9
|
+
set :client_id, params[:clientId]
|
10
|
+
set :private_key, params[:privateKey]
|
11
|
+
set :source, params[:source]
|
12
|
+
set :file_id, params[:fileId]
|
13
|
+
set :url, params[:url]
|
14
|
+
set :base_path, params[:basePath]
|
15
|
+
|
16
|
+
#Set download path
|
17
|
+
downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
|
18
|
+
|
19
|
+
#Remove all files from download directory or create folder if it not there
|
20
|
+
if File.directory?(downloads_path)
|
21
|
+
Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
|
22
|
+
else
|
23
|
+
Dir::mkdir(downloads_path)
|
24
|
+
end
|
25
|
+
|
26
|
+
begin
|
27
|
+
#Check required variables
|
28
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
29
|
+
|
30
|
+
#Prepare base path
|
31
|
+
if settings.base_path.empty?
|
32
|
+
base_path = 'https://api.groupdocs.com'
|
33
|
+
elsif settings.base_path.match('/v2.0')
|
34
|
+
base_path = settings.base_path.split('/v2.0')[0]
|
35
|
+
else
|
36
|
+
base_path = settings.base_path
|
37
|
+
end
|
38
|
+
|
39
|
+
#Configure your access to API server
|
40
|
+
GroupDocs.configure do |groupdocs|
|
41
|
+
groupdocs.client_id = settings.client_id
|
42
|
+
groupdocs.private_key = settings.private_key
|
43
|
+
#Optionally specify API server and version
|
44
|
+
groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
|
45
|
+
end
|
46
|
+
|
47
|
+
#Get document by file GUID
|
48
|
+
case settings.source
|
49
|
+
when 'guid'
|
50
|
+
#Create instance of File
|
51
|
+
file = GroupDocs::Storage::File.new({:guid => settings.file_id})
|
52
|
+
when 'local'
|
53
|
+
#Construct path
|
54
|
+
file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
55
|
+
#Open file
|
56
|
+
File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
57
|
+
#Make a request to API using client_id and private_key
|
58
|
+
file = GroupDocs::Storage::File.upload!(file_path, {})
|
59
|
+
when 'url'
|
60
|
+
#Upload file from defined url
|
61
|
+
file = GroupDocs::Storage::File.upload_web!(settings.url)
|
62
|
+
else
|
63
|
+
raise 'Wrong GUID source.'
|
64
|
+
end
|
65
|
+
|
66
|
+
#Raise exception if something went wrong
|
67
|
+
raise 'No such file' unless file.is_a?(GroupDocs::Storage::File)
|
68
|
+
|
69
|
+
#Make GroupDocs::Storage::Document instance
|
70
|
+
document = file.to_document
|
71
|
+
|
72
|
+
#Create datasource with fields
|
73
|
+
datasource = GroupDocs::DataSource.new
|
74
|
+
|
75
|
+
#Get arry of document's fields
|
76
|
+
fields = document.fields!()
|
77
|
+
|
78
|
+
#Create Field instance and fill the fields
|
79
|
+
datasource.fields = fields.map { |field| GroupDocs::DataSource::Field.new(name: field.name, type: :text, values: %w(value1 value2)) }
|
80
|
+
|
81
|
+
#Adds datasource.
|
82
|
+
datasource.add!()
|
83
|
+
|
84
|
+
|
85
|
+
#Creates new job to merge datasource into document.
|
86
|
+
job = document.datasource!(datasource, {:new_type => 'pdf'})
|
87
|
+
sleep 10 # wait for merge and convert
|
88
|
+
|
89
|
+
#Returns an hash of input and output documents associated to job.
|
90
|
+
document = job.documents!()
|
91
|
+
|
92
|
+
#Download file
|
93
|
+
document[:inputs][0].outputs[0].download!("#{File.dirname(__FILE__)}/../public/downloads")
|
94
|
+
|
95
|
+
#Set converted document GUID
|
96
|
+
guid = document[:inputs][0].outputs[0].guid
|
97
|
+
#Set converted document Name
|
98
|
+
file_name = document[:inputs][0].outputs[0].name
|
99
|
+
|
100
|
+
#Prepare to sign url
|
101
|
+
iframe = "/document-viewer/embed/#{guid}"
|
102
|
+
# Construct result string
|
103
|
+
url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
|
104
|
+
#Generate iframe URL
|
105
|
+
case base_path
|
106
|
+
when 'https://stage-api-groupdocs.dynabic.com'
|
107
|
+
iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
|
108
|
+
when 'https://dev-api-groupdocs.dynabic.com'
|
109
|
+
iframe = "https://dev-apps.groupdocs.com#{url}"
|
110
|
+
else
|
111
|
+
iframe = "https://apps.groupdocs.com#{url}"
|
112
|
+
end
|
113
|
+
|
114
|
+
#Set iframe with document GUID or raise an error
|
115
|
+
if guid
|
116
|
+
#Make iframe
|
117
|
+
iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
|
118
|
+
else
|
119
|
+
raise 'File was not converted'
|
120
|
+
end
|
121
|
+
|
122
|
+
rescue Exception => e
|
123
|
+
err = e.message
|
124
|
+
end
|
125
|
+
|
126
|
+
#Set variables for template
|
127
|
+
haml :sample25, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :fileName => file_name, :err => err}
|
128
128
|
end
|