onlyoffice_api 0.7

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.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/lib/onlyoffice_api.rb +65 -0
  3. data/lib/teamlab/config.rb +39 -0
  4. data/lib/teamlab/modules/calendar.rb +111 -0
  5. data/lib/teamlab/modules/community.rb +20 -0
  6. data/lib/teamlab/modules/community/community_blogs.rb +54 -0
  7. data/lib/teamlab/modules/community/community_bookmarks.rb +60 -0
  8. data/lib/teamlab/modules/community/community_events.rb +50 -0
  9. data/lib/teamlab/modules/community/community_forums.rb +70 -0
  10. data/lib/teamlab/modules/community/community_wiki.rb +66 -0
  11. data/lib/teamlab/modules/crm.rb +32 -0
  12. data/lib/teamlab/modules/crm/crm_cases.rb +72 -0
  13. data/lib/teamlab/modules/crm/crm_common.rb +42 -0
  14. data/lib/teamlab/modules/crm/crm_contacts.rb +243 -0
  15. data/lib/teamlab/modules/crm/crm_files.rb +44 -0
  16. data/lib/teamlab/modules/crm/crm_history.rb +42 -0
  17. data/lib/teamlab/modules/crm/crm_invoices.rb +123 -0
  18. data/lib/teamlab/modules/crm/crm_opportunities.rb +93 -0
  19. data/lib/teamlab/modules/crm/crm_organisation.rb +14 -0
  20. data/lib/teamlab/modules/crm/crm_tags.rb +54 -0
  21. data/lib/teamlab/modules/crm/crm_tasks.rb +62 -0
  22. data/lib/teamlab/modules/crm/crm_user_fields.rb +34 -0
  23. data/lib/teamlab/modules/feed.rb +23 -0
  24. data/lib/teamlab/modules/files.rb +256 -0
  25. data/lib/teamlab/modules/group.rb +53 -0
  26. data/lib/teamlab/modules/group/group_helper.rb +15 -0
  27. data/lib/teamlab/modules/mail.rb +32 -0
  28. data/lib/teamlab/modules/mail/mail_accounts.rb +55 -0
  29. data/lib/teamlab/modules/mail/mail_alerts.rb +14 -0
  30. data/lib/teamlab/modules/mail/mail_contacts.rb +14 -0
  31. data/lib/teamlab/modules/mail/mail_conversations.rb +54 -0
  32. data/lib/teamlab/modules/mail/mail_folders.rb +18 -0
  33. data/lib/teamlab/modules/mail/mail_helpcenter.rb +10 -0
  34. data/lib/teamlab/modules/mail/mail_images.rb +18 -0
  35. data/lib/teamlab/modules/mail/mail_messages.rb +74 -0
  36. data/lib/teamlab/modules/mail/mail_settings.rb +17 -0
  37. data/lib/teamlab/modules/mail/mail_signature.rb +14 -0
  38. data/lib/teamlab/modules/mail/mail_tags.rb +30 -0
  39. data/lib/teamlab/modules/people.rb +104 -0
  40. data/lib/teamlab/modules/people/people_reassign.rb +26 -0
  41. data/lib/teamlab/modules/portals.rb +17 -0
  42. data/lib/teamlab/modules/project.rb +37 -0
  43. data/lib/teamlab/modules/projects/projects_comments.rb +34 -0
  44. data/lib/teamlab/modules/projects/projects_contacts.rb +18 -0
  45. data/lib/teamlab/modules/projects/projects_discussions.rb +46 -0
  46. data/lib/teamlab/modules/projects/projects_files.rb +34 -0
  47. data/lib/teamlab/modules/projects/projects_milestones.rb +46 -0
  48. data/lib/teamlab/modules/projects/projects_projects.rb +82 -0
  49. data/lib/teamlab/modules/projects/projects_reports.rb +18 -0
  50. data/lib/teamlab/modules/projects/projects_settings.rb +11 -0
  51. data/lib/teamlab/modules/projects/projects_tags.rb +18 -0
  52. data/lib/teamlab/modules/projects/projects_tasks.rb +94 -0
  53. data/lib/teamlab/modules/projects/projects_team.rb +30 -0
  54. data/lib/teamlab/modules/projects/projects_templates.rb +26 -0
  55. data/lib/teamlab/modules/projects/projects_time.rb +34 -0
  56. data/lib/teamlab/modules/settings.rb +100 -0
  57. data/lib/teamlab/name.rb +5 -0
  58. data/lib/teamlab/request.rb +79 -0
  59. data/lib/teamlab/response.rb +41 -0
  60. data/lib/teamlab/version.rb +5 -0
  61. metadata +140 -0
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects comments methods
5
+ module ProjectsComments
6
+ def get_comment(comment_id)
7
+ @request.get(['comment', comment_id.to_s])
8
+ end
9
+
10
+ def get_task_comments(task_id)
11
+ @request.get(['task', task_id.to_s, 'comment'])
12
+ end
13
+
14
+ def get_message_comments(message_id)
15
+ @request.get(['message', message_id.to_s, 'comment'])
16
+ end
17
+
18
+ def add_task_comment(task_id, content, options = {})
19
+ @request.post(['task', task_id.to_s, 'comment'], { content: content }.merge(options))
20
+ end
21
+
22
+ def add_message_comment(message_id, content, options = {})
23
+ @request.post(['message', message_id.to_s, 'comment'], { content: content }.merge(options))
24
+ end
25
+
26
+ def update_comment(comment_id, content)
27
+ @request.put(['comment', comment_id.to_s], content: content)
28
+ end
29
+
30
+ def delete_comment(comment_id)
31
+ @request.delete(['comment', comment_id.to_s])
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects contacts methods
5
+ module ProjectsContacts
6
+ def get_projects_for_contact(contact_id)
7
+ @request.get(['contact', contact_id.to_s])
8
+ end
9
+
10
+ def add_project_contact(project_id, contact_id)
11
+ @request.post([project_id.to_s, 'contact'], contactId: contact_id)
12
+ end
13
+
14
+ def delete_project_contact(project_id, contact_id)
15
+ @request.delete([project_id.to_s, 'contact'], contactId: contact_id)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects discussions methods
5
+ module ProjectsDiscussions
6
+ def get_latest_discussion_messages
7
+ @request.get(['message'])
8
+ end
9
+
10
+ def get_message_by_filter(options = {})
11
+ @request.get(%w[message filter], options)
12
+ end
13
+
14
+ def get_messages(project_id)
15
+ @request.get([project_id.to_s, 'message'])
16
+ end
17
+
18
+ def get_project_message(message_id)
19
+ @request.get(['message', message_id.to_s])
20
+ end
21
+
22
+ def check_subscription_to_discussion(message_id)
23
+ @request.get(['message', message_id.to_s, 'subscribe'])
24
+ end
25
+
26
+ def add_message(project_id, title, content, participants, options = {})
27
+ @request.post([project_id.to_s, 'message'], { title: title, content: content, participants: participants }.merge(options))
28
+ end
29
+
30
+ def update_message(message_id, project_id, title, content, options = {})
31
+ @request.put(['message', message_id.to_s], { projectid: project_id, title: title, content: content }.merge(options))
32
+ end
33
+
34
+ def update_message_status(message_id, status)
35
+ @request.put(['message', message_id.to_s, 'status'], status: status)
36
+ end
37
+
38
+ def subscribe_to_message_action(message_id)
39
+ @request.put(['message', message_id.to_s, 'subscribe'])
40
+ end
41
+
42
+ def delete_message(message_id)
43
+ @request.delete(['message', message_id.to_s])
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects files methods
5
+ module ProjectsFiles
6
+ def get_task_files(task_id)
7
+ @request.get(['task', task_id.to_s, 'files'])
8
+ end
9
+
10
+ def get_entity_files(entity_id, entity_type)
11
+ @request.get([entity_id.to_s, 'entityfiles'], entityType: entity_type)
12
+ end
13
+
14
+ def get_message_files(message_id)
15
+ @request.get(['message', message_id.to_s, 'files'])
16
+ end
17
+
18
+ def upload_file_to_task(task_id, *files)
19
+ @request.post(['task', task_id.to_s, 'files'], files: files.flatten)
20
+ end
21
+
22
+ def upload_file_to_message(message_id, *files)
23
+ @request.post(['message', message_id.to_s, 'files'], files: files.flatten)
24
+ end
25
+
26
+ def detach_file_from_task(task_id, file_id)
27
+ @request.delete(['task', task_id.to_s, 'files'], fileid: file_id)
28
+ end
29
+
30
+ def detach_file_from_message(message_id, file_id)
31
+ @request.delete(['message', message_id.to_s, 'files'], fileid: file_id)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects milestones methods
5
+ module ProjectsMilestones
6
+ def get_upcoming_milestones
7
+ @request.get(%w[milestone])
8
+ end
9
+
10
+ def get_overdue_milestones
11
+ @request.get(%w[milestone late])
12
+ end
13
+
14
+ def get_milestone(id)
15
+ @request.get(['milestone', id.to_s])
16
+ end
17
+
18
+ def get_milestones_by_filter(options = {})
19
+ @request.get(%w[milestone filter], options)
20
+ end
21
+
22
+ def get_milestone_tasks(id)
23
+ @request.get(['milestone', id.to_s, 'task'])
24
+ end
25
+
26
+ def get_milestones_by_month(year, month)
27
+ @request.get(['milestone', year.to_s, month.to_s])
28
+ end
29
+
30
+ def get_milestones_by_full_date(year, month, day)
31
+ @request.get(['milestone', year.to_s, month.to_s, day.to_s])
32
+ end
33
+
34
+ def update_milestone(id, title, deadline, options = {})
35
+ @request.put(['milestone', id.to_s], { title: title, deadline: deadline }.merge(options))
36
+ end
37
+
38
+ def update_milestone_status(id, status)
39
+ @request.put(['milestone', id.to_s, 'status'], status: status)
40
+ end
41
+
42
+ def delete_milestone(id)
43
+ @request.delete(['milestone', id.to_s])
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects projects methods
5
+ module ProjectsProjects
6
+ def get_projects
7
+ @request.get
8
+ end
9
+
10
+ def get_project(id)
11
+ @request.get([id.to_s])
12
+ end
13
+
14
+ def get_participated_projects
15
+ @request.get(['@self'])
16
+ end
17
+
18
+ def filter_projects(options = {})
19
+ @request.get(['filter'], options)
20
+ end
21
+
22
+ def get_followed_projects
23
+ @request.get(['@follow'])
24
+ end
25
+
26
+ def get_project_by_status(status)
27
+ @request.get([status.to_s])
28
+ end
29
+
30
+ def get_spent_time(project_id)
31
+ @request.get([project_id.to_s, 'time'])
32
+ end
33
+
34
+ def get_project_files(project_id)
35
+ @request.get([project_id.to_s, 'files'])
36
+ end
37
+
38
+ def get_milestones(project_id)
39
+ @request.get([project_id.to_s, 'milestone'])
40
+ end
41
+
42
+ def search_all_projects(query)
43
+ @request.get(['@search', query.to_s])
44
+ end
45
+
46
+ def search_project(project_id, query)
47
+ @request.get([project_id.to_s, '@search', query.to_s])
48
+ end
49
+
50
+ def get_milestones_with_status(project_id, status)
51
+ @request.get([project_id.to_s, 'milestone', status.to_s])
52
+ end
53
+
54
+ def create_project(title, description, responsible_id, tags, private, options = {})
55
+ @request.post('', { title: title, description: description, responsibleid: responsible_id, tags: tags, private: private }.merge(options))
56
+ end
57
+
58
+ def add_milestone(project_id, title, deadline, responsible_id, options = {})
59
+ @request.post([project_id.to_s, 'milestone'], { title: title, deadline: deadline, responsible: responsible_id }.merge(options))
60
+ end
61
+
62
+ def update_project(id, title, responsible_id, options = {})
63
+ @request.put([id.to_s], { title: title, responsibleId: responsible_id }.merge(options))
64
+ end
65
+
66
+ def update_project_tags(id, tags)
67
+ @request.put([id.to_s, 'tag'], tags: tags)
68
+ end
69
+
70
+ def update_project_status(id, status)
71
+ @request.put([id.to_s, 'status'], status: status)
72
+ end
73
+
74
+ def follow_unfollow_project(project_id)
75
+ @request.put([project_id.to_s, 'follow'])
76
+ end
77
+
78
+ def delete_project(id)
79
+ @request.delete([id.to_s])
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects reports methods
5
+ module ProjectsReports
6
+ def create_report_template(name, options = {})
7
+ @request.post(['report'], { name: name }.merge(options))
8
+ end
9
+
10
+ def update_report_template(report_id, name, options = {})
11
+ @request.put(['report', report_id.to_s], { name: name }.merge(options))
12
+ end
13
+
14
+ def delete_report_template(report_id)
15
+ @request.delete(['report', report_id.to_s])
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects settings methods
5
+ module ProjectsSettings
6
+ # @return [Hash] Values of projects settings
7
+ def projects_settings
8
+ @request.get(%w[settings])
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects tags methods
5
+ module ProjectsTags
6
+ def get_project_tags
7
+ @request.get(%w[tag])
8
+ end
9
+
10
+ def get_project_by_tag(tag)
11
+ @request.get(['tag', tag.to_s])
12
+ end
13
+
14
+ def get_tags_by_name(tag_name)
15
+ @request.get(%w[tag search], tagName: tag_name)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects tasks methods
5
+ module ProjectsTasks
6
+ def get_my_tasks
7
+ @request.get(%w[task @self])
8
+ end
9
+
10
+ def get_task_by_filter(options = {})
11
+ @request.get(%w[task filter], options)
12
+ end
13
+
14
+ def get_task(id)
15
+ @request.get(['task', id.to_s])
16
+ end
17
+
18
+ def get_tasks(project_id)
19
+ @request.get([project_id.to_s, 'task'])
20
+ end
21
+
22
+ def get_my_tasks_by_status(status)
23
+ @request.get(['task', '@self', status.to_s])
24
+ end
25
+
26
+ def notify_task_responsible(task_id)
27
+ @request.get(['task', task_id.to_s, 'notify'])
28
+ end
29
+
30
+ def get_all_tasks(project_id)
31
+ @request.get([project_id.to_s, 'task'])
32
+ end
33
+
34
+ def check_subscription_to_task_action(task_id)
35
+ @request.get(['task', task_id.to_s, 'subscribe'])
36
+ end
37
+
38
+ def get_tasks_with_status(project_id, status)
39
+ @request.get([project_id.to_s, 'task', status.to_s])
40
+ end
41
+
42
+ def get_my_tasks_with_status(project_id, status)
43
+ @request.get([project_id.to_s, 'task', '@self', status.to_s])
44
+ end
45
+
46
+ def create_subtask(task_id, responsible_id, title)
47
+ @request.post(['task', task_id.to_s], responsible: responsible_id, title: title)
48
+ end
49
+
50
+ def add_link(parent_task_id, dependence_task_id, link_type)
51
+ @request.post(['task', parent_task_id.to_s, 'link'], dependenceTaskId: dependence_task_id, linkType: link_type)
52
+ end
53
+
54
+ def add_task(project_id, title, options = {})
55
+ @request.post([project_id.to_s, 'task'], { title: title }.merge(options))
56
+ end
57
+
58
+ def add_task_from_discussion(project_id, message_id)
59
+ @request.post([project_id.to_s, 'task', message_id.to_s])
60
+ end
61
+
62
+ def update_task_status(task_id, status)
63
+ @request.put(['task', task_id.to_s, 'status'], status: status)
64
+ end
65
+
66
+ def update_project_task(task_id, title, options = {})
67
+ @request.put(['task', task_id.to_s], { title: title.to_s }.merge(options))
68
+ end
69
+
70
+ def update_task_milestone(task_id, milestone_id)
71
+ @request.put(['task', task_id.to_s, 'milestone'], milestoneId: milestone_id)
72
+ end
73
+
74
+ def subscribe_to_task_action(task_id)
75
+ @request.put(['task', task_id.to_s, 'subscribe'])
76
+ end
77
+
78
+ def update_subtask(task_id, subtask_id, responsible_id, title)
79
+ @request.put(['task', task_id.to_s, subtask_id.to_s], responsible: responsible_id, title: title)
80
+ end
81
+
82
+ def update_subtask_status(task_id, subtask_id, status)
83
+ @request.put(['task', task_id.to_s, subtask_id.to_s, 'status'], status: status)
84
+ end
85
+
86
+ def delete_subtask(task_id, subtask_id)
87
+ @request.delete(['task', task_id.to_s, subtask_id.to_s])
88
+ end
89
+
90
+ def delete_task(id)
91
+ @request.delete(['task', id.to_s])
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects team methods
5
+ module ProjectsTeam
6
+ def get_project_team(project_id)
7
+ @request.get([project_id.to_s, 'team'])
8
+ end
9
+
10
+ def get_projects_teams(*project_ids)
11
+ @request.post(%w[team], ids: project_ids.flatten)
12
+ end
13
+
14
+ def add_to_team(project_id, user_id)
15
+ @request.post([project_id.to_s, 'team'], userid: user_id)
16
+ end
17
+
18
+ def update_project_team(project_id, participants_ids, options = {})
19
+ @request.put([project_id.to_s, 'team'], { participants: participants_ids }.merge(options))
20
+ end
21
+
22
+ def set_team_security(project_id, user_id, security, options = {})
23
+ @request.put([project_id.to_s, 'team', 'security'], { userId: user_id, security: security }.merge(options))
24
+ end
25
+
26
+ def remove_from_team(project_id, user_id)
27
+ @request.delete([project_id.to_s, 'team'], userId: user_id)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for projects templates methods
5
+ module ProjectsTemplates
6
+ def get_templates
7
+ @request.get(['template'])
8
+ end
9
+
10
+ def get_template(template_id)
11
+ @request.get(['template', template_id.to_s])
12
+ end
13
+
14
+ def create_template(title, options = {})
15
+ @request.post(['template'], { title: title }.merge(options))
16
+ end
17
+
18
+ def update_template(id, title)
19
+ @request.put(['template', id.to_s], title: title)
20
+ end
21
+
22
+ def delete_template(id)
23
+ @request.delete(['template', id.to_s])
24
+ end
25
+ end
26
+ end