mangoapps-ex-sdk-ruby 0.15.2
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/CHANGELOG.md +506 -0
- data/LICENSE +201 -0
- data/README.md +2040 -0
- data/lib/mangoapps/client.rb +219 -0
- data/lib/mangoapps/config.rb +98 -0
- data/lib/mangoapps/errors.rb +45 -0
- data/lib/mangoapps/modules/attachments/get_folder_files.rb +14 -0
- data/lib/mangoapps/modules/attachments/get_folders.rb +14 -0
- data/lib/mangoapps/modules/attachments.rb +14 -0
- data/lib/mangoapps/modules/feeds/feeds.rb +14 -0
- data/lib/mangoapps/modules/feeds.rb +12 -0
- data/lib/mangoapps/modules/learn/course_catalog.rb +16 -0
- data/lib/mangoapps/modules/learn/course_categories.rb +16 -0
- data/lib/mangoapps/modules/learn/course_details.rb +13 -0
- data/lib/mangoapps/modules/learn/my_learning.rb +13 -0
- data/lib/mangoapps/modules/learn.rb +18 -0
- data/lib/mangoapps/modules/libraries/get_libraries.rb +14 -0
- data/lib/mangoapps/modules/libraries/get_library_categories.rb +14 -0
- data/lib/mangoapps/modules/libraries/get_library_items.rb +14 -0
- data/lib/mangoapps/modules/libraries.rb +16 -0
- data/lib/mangoapps/modules/notifications/my_priority_items.rb +13 -0
- data/lib/mangoapps/modules/notifications/notifications.rb +14 -0
- data/lib/mangoapps/modules/notifications.rb +14 -0
- data/lib/mangoapps/modules/posts/get_all_posts.rb +14 -0
- data/lib/mangoapps/modules/posts/get_post_by_id.rb +13 -0
- data/lib/mangoapps/modules/posts.rb +14 -0
- data/lib/mangoapps/modules/recognitions/award_categories.rb +14 -0
- data/lib/mangoapps/modules/recognitions/core_value_tags.rb +13 -0
- data/lib/mangoapps/modules/recognitions/get_award_feeds.rb +14 -0
- data/lib/mangoapps/modules/recognitions/get_awards_list.rb +14 -0
- data/lib/mangoapps/modules/recognitions/get_profile_awards.rb +13 -0
- data/lib/mangoapps/modules/recognitions/get_team_awards.rb +13 -0
- data/lib/mangoapps/modules/recognitions/gift_cards.rb +13 -0
- data/lib/mangoapps/modules/recognitions/leaderboard_info.rb +13 -0
- data/lib/mangoapps/modules/recognitions.rb +26 -0
- data/lib/mangoapps/modules/tasks/get_task_details.rb +13 -0
- data/lib/mangoapps/modules/tasks/get_tasks.rb +14 -0
- data/lib/mangoapps/modules/tasks.rb +14 -0
- data/lib/mangoapps/modules/trackers/get_trackers.rb +14 -0
- data/lib/mangoapps/modules/trackers.rb +12 -0
- data/lib/mangoapps/modules/users.rb +11 -0
- data/lib/mangoapps/modules/wikis/get_wiki_details.rb +13 -0
- data/lib/mangoapps/modules/wikis/get_wikis.rb +14 -0
- data/lib/mangoapps/modules/wikis.rb +14 -0
- data/lib/mangoapps/oauth.rb +187 -0
- data/lib/mangoapps/response.rb +92 -0
- data/lib/mangoapps/version.rb +5 -0
- data/lib/mangoapps.rb +34 -0
- metadata +181 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6cccec279a1fc70385a5657b014077dca6e721739b282e3096c11ec2467c7e4f
|
4
|
+
data.tar.gz: ed85a35c6f145897ea30fc2896cdedb1d6bb2ee8c56011cbe6d1a8159b7728c8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: be17b124f42a6b0c9fd0b4e30c76111265cc384d31c8f4ba3653500660375e885b9912f6c8c74533f558403fdd800f5a50fa6fbe636b76317bfbb7a6b31ebbe5
|
7
|
+
data.tar.gz: e2bd7e5d0658323d56314fbff29711f07a8b860f53a2eaf041465340565e77b94d81c2efaaf8ac8edbdd015531a7eac5c104a25082ac3d7ac3f9fa76c76d6a0c
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,506 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to the MangoApps Ruby SDK will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
## [0.15.1] - 2024-12-19
|
9
|
+
|
10
|
+
### Added
|
11
|
+
- **Pagination Support** - Optional page and limit parameters for all list APIs
|
12
|
+
- Added `page` and `limit` parameters to all list APIs for efficient data retrieval
|
13
|
+
- Default pagination values: `page: 1, limit: 20` for most APIs
|
14
|
+
- Special defaults: `limit: 5` for tasks, `filter_by: "all"` for posts
|
15
|
+
- Maintains backward compatibility with existing `params` parameter
|
16
|
+
- Enhanced data retrieval efficiency for large datasets
|
17
|
+
- Comprehensive test coverage for pagination functionality
|
18
|
+
|
19
|
+
- **Enhanced Automatic Detection** - Improved `MangoApps::Config.new` behavior
|
20
|
+
- Shows clear feedback about which authentication method is being used
|
21
|
+
- Displays domain, API key (masked), and test header for Internal API
|
22
|
+
- Displays domain, client ID (masked), and redirect URI for OAuth
|
23
|
+
- Works seamlessly with all existing scripts and test frameworks
|
24
|
+
- Enhanced user experience with immediate authentication method feedback
|
25
|
+
|
26
|
+
### Updated
|
27
|
+
- **Documentation** - Comprehensive updates across all documentation
|
28
|
+
- Updated README with automatic detection examples and priority system
|
29
|
+
- Enhanced DEVELOPER.md with authentication system documentation
|
30
|
+
- Updated RAILS_OAUTH_GUIDE.md with Internal API usage examples
|
31
|
+
- Updated .cursorrules with automatic detection features
|
32
|
+
- Added clear examples of automatic detection behavior
|
33
|
+
|
34
|
+
## [0.15.0] - 2024-12-19
|
35
|
+
|
36
|
+
### Added
|
37
|
+
- **Internal API Authentication** - Alternative authentication method using API keys
|
38
|
+
- `Internal-Api-Key` and `Internal-Api-Secret` header authentication
|
39
|
+
- Optional `Test` header support for testing environments
|
40
|
+
- Automatic header injection for all API requests
|
41
|
+
- Server-to-server communication without OAuth flow
|
42
|
+
- Clean dot notation access: `response.name`, `response.email`, `response.id`
|
43
|
+
- Comprehensive test coverage with internal API validation
|
44
|
+
- Enhanced configuration validation supporting both OAuth and Internal API
|
45
|
+
- Updated README with internal API authentication examples
|
46
|
+
|
47
|
+
- **Automatic Authentication Detection** - Smart authentication method detection
|
48
|
+
- `MangoApps::Config.new` automatically detects available authentication methods
|
49
|
+
- Prioritizes Internal API credentials over OAuth credentials
|
50
|
+
- Shows clear feedback about which authentication method is being used
|
51
|
+
- Works seamlessly with all existing scripts and test frameworks
|
52
|
+
- Enhanced user experience with automatic method selection
|
53
|
+
- Updated all documentation with automatic detection examples
|
54
|
+
|
55
|
+
## [0.14.0] - 2024-12-19
|
56
|
+
|
57
|
+
### Added
|
58
|
+
- **OAuth Userinfo API** in OAuth Module
|
59
|
+
- `client.get_userinfo` - Get user information from OAuth userinfo endpoint
|
60
|
+
- Access to OAuth user data including sub, name, email, and preferred_username
|
61
|
+
- Clean dot notation access: `response.name`, `response.email`, `response.preferred_username`
|
62
|
+
- Comprehensive test coverage with OAuth userinfo validation
|
63
|
+
- Enhanced Rails OAuth guide with userinfo integration
|
64
|
+
|
65
|
+
## [0.13.0] - 2024-12-19
|
66
|
+
|
67
|
+
### Added
|
68
|
+
- **Notifications API** in Notifications Module
|
69
|
+
- `client.notifications` - Get user's notifications with unread counts and detailed notification information
|
70
|
+
- Access to comprehensive notification data including IDs, sender information, and notification content
|
71
|
+
- Access to unread counts including what's new, unread feeds, mentions, and direct messages
|
72
|
+
- Access to notification metadata including types, categories, timestamps, and read status
|
73
|
+
- Access to mention tags and client metadata for enhanced notification handling
|
74
|
+
- Clean dot notation access: `response.notifications` with comprehensive notification data
|
75
|
+
- Comprehensive test coverage with real API validation
|
76
|
+
|
77
|
+
### Enhanced
|
78
|
+
- **Test Coverage** - Added comprehensive test for notifications API (2 total notifications tests)
|
79
|
+
- **Documentation** - Updated README with notifications examples and complete workflow
|
80
|
+
- **API Completeness** - Notifications module now includes 2 comprehensive endpoints for complete notification management
|
81
|
+
|
82
|
+
## [0.12.0] - 2024-12-19
|
83
|
+
|
84
|
+
### Removed
|
85
|
+
- **Tango Gift Cards API** from Recognitions Module
|
86
|
+
- Removed `client.tango_gift_cards` endpoint and related functionality
|
87
|
+
- Removed tango gift cards module file and test coverage
|
88
|
+
- Updated recognitions module to exclude tango gift cards functionality
|
89
|
+
- Updated documentation to remove tango gift cards references
|
90
|
+
|
91
|
+
### Enhanced
|
92
|
+
- **API Cleanup** - Streamlined recognitions module by removing unused tango gift cards functionality
|
93
|
+
- **Documentation** - Updated README and CHANGELOG to reflect tango gift cards removal
|
94
|
+
- **Module Efficiency** - Recognitions module now includes 8 focused endpoints for recognition management
|
95
|
+
|
96
|
+
## [0.11.0] - 2024-12-19
|
97
|
+
|
98
|
+
### Added
|
99
|
+
- **Get Award Feeds API** in Recognitions Module
|
100
|
+
- `client.get_award_feeds` - Get award feeds with comprehensive recognition data
|
101
|
+
- Access to comprehensive award feeds including IDs, types, categories, and recognition points
|
102
|
+
- Access to feed properties including titles, labels, image URLs, and status information
|
103
|
+
- Access to user information including from users, to users, and feed story users
|
104
|
+
- Access to feed interactions including reactions, comments, attachments, and core value tags
|
105
|
+
- Access to feed metadata including creation/update dates, platform, and visibility settings
|
106
|
+
- Access to unread counts including direct messages, mentions, and notification counts
|
107
|
+
- Access to system information including MangoApps version, moderation settings, and mobile pin options
|
108
|
+
- Clean dot notation access: `response.feeds` with comprehensive award feed data
|
109
|
+
- Comprehensive test coverage with real API validation
|
110
|
+
|
111
|
+
### Enhanced
|
112
|
+
- **Test Coverage** - Added comprehensive test for get award feeds API (8 total recognitions tests)
|
113
|
+
- **Documentation** - Updated README with get award feeds examples and complete workflow
|
114
|
+
- **API Completeness** - Recognitions module now includes 8 comprehensive endpoints for complete recognition management
|
115
|
+
|
116
|
+
## [0.10.0] - 2024-12-19
|
117
|
+
|
118
|
+
### Added
|
119
|
+
- **Get Wiki Details API** in Wikis Module
|
120
|
+
- `client.get_wiki_details(wiki_id)` - Get detailed information for a specific wiki by ID
|
121
|
+
- Access to comprehensive wiki details including IDs, titles, descriptions, and metadata
|
122
|
+
- Access to wiki properties including status, platform, creation/update dates, and user information
|
123
|
+
- Access to wiki permissions including edit, delete, rename, move, and duplicate capabilities
|
124
|
+
- Access to wiki content including descriptions, banner URLs, and icon properties
|
125
|
+
- Access to wiki interactions including reactions, comments, attachments, and hashtags
|
126
|
+
- Access to wiki structure including TOC, governance, and archival information
|
127
|
+
- Clean dot notation access: `response.wiki` with comprehensive wiki details
|
128
|
+
- Comprehensive test coverage with real API validation
|
129
|
+
|
130
|
+
### Enhanced
|
131
|
+
- **Test Coverage** - Added comprehensive test for get wiki details API (2 total wikis tests)
|
132
|
+
- **Documentation** - Updated README with get wiki details examples and complete workflow
|
133
|
+
- **API Completeness** - Wikis module now includes 2 comprehensive endpoints for complete wiki management
|
134
|
+
|
135
|
+
## [0.9.0] - 2024-12-19
|
136
|
+
|
137
|
+
### Added
|
138
|
+
- **Wikis Module** - New module for wiki management
|
139
|
+
- `client.get_wikis(mode: "my", limit: 20, offset: 0)` - Get user's wikis with filtering, pagination, and detailed wiki information
|
140
|
+
- Access to comprehensive wiki data including IDs, titles, children counts, and update dates
|
141
|
+
- Access to wiki properties including conversation details, edit permissions, and draft status
|
142
|
+
- Access to wiki metadata including icon properties, PDF access, and governance settings
|
143
|
+
- Access to wiki context including user information, status, and image URLs
|
144
|
+
- Clean dot notation access: `response.wikis` with comprehensive wiki data
|
145
|
+
- Comprehensive test coverage with real API validation
|
146
|
+
|
147
|
+
### Enhanced
|
148
|
+
- **Test Coverage** - Added comprehensive test for wikis module (1 total wikis test)
|
149
|
+
- **Documentation** - Updated README with wikis examples and complete workflow
|
150
|
+
- **Module Architecture** - Added new wikis module following established patterns
|
151
|
+
- **Test Runner** - Updated run_tests.sh to include wikis module testing
|
152
|
+
|
153
|
+
## [0.8.0] - 2024-12-19
|
154
|
+
|
155
|
+
### Added
|
156
|
+
- **Get Task Details API** in Tasks Module
|
157
|
+
- `client.get_task_details(task_id)` - Get detailed information for a specific task by ID
|
158
|
+
- Access to comprehensive task details including IDs, titles, status, assignments, and due dates
|
159
|
+
- Access to task properties including overdue status, milestones, projects, and priorities
|
160
|
+
- Access to task metadata including reviewers, next actions, attachments, and links
|
161
|
+
- Access to task timeline including started, finished, delivered, reopened, and restarted dates
|
162
|
+
- Access to task content including task description and notes
|
163
|
+
- Clean dot notation access: `response.task` with comprehensive task details
|
164
|
+
- Comprehensive test coverage with real API validation
|
165
|
+
|
166
|
+
### Enhanced
|
167
|
+
- **Test Coverage** - Added comprehensive test for get task details API (2 total tasks tests)
|
168
|
+
- **Documentation** - Updated README with get task details examples and complete workflow
|
169
|
+
- **API Completeness** - Tasks module now includes 2 comprehensive endpoints for complete task management
|
170
|
+
|
171
|
+
## [0.7.0] - 2024-12-19
|
172
|
+
|
173
|
+
### Added
|
174
|
+
- **Tasks Module** - New module for task management
|
175
|
+
- `client.get_tasks(filter: "Pending_Tasks", page: 1, limit: 5)` - Get user's tasks with filtering, pagination, and detailed task information
|
176
|
+
- Access to comprehensive task data including IDs, titles, status, assignments, and due dates
|
177
|
+
- Access to task properties including overdue status, milestones, projects, and priorities
|
178
|
+
- Access to task metadata including reviewers, next actions, attachments, and links
|
179
|
+
- Clean dot notation access: `response.tasks.task` with comprehensive task data
|
180
|
+
- Comprehensive test coverage with real API validation
|
181
|
+
|
182
|
+
### Enhanced
|
183
|
+
- **Test Coverage** - Added comprehensive test for tasks module (1 total tasks test)
|
184
|
+
- **Documentation** - Updated README with tasks examples and complete workflow
|
185
|
+
- **Module Architecture** - Added new tasks module following established patterns
|
186
|
+
- **Test Runner** - Updated run_tests.sh to include tasks module testing
|
187
|
+
|
188
|
+
## [0.6.0] - 2024-12-19
|
189
|
+
|
190
|
+
### Added
|
191
|
+
- **Get Folder Files API** in Attachments Module
|
192
|
+
- `client.get_folder_files(folder_id, include_folders: "Y")` - Get files and folders inside a specific folder
|
193
|
+
- Access to comprehensive file and folder data including names, IDs, sizes, uploaders, and permissions
|
194
|
+
- Access to file properties including pinned status, liked status, visibility, and role permissions
|
195
|
+
- Access to folder metadata including total counts, role names, and domain suspension status
|
196
|
+
- Clean dot notation access: `response.files` with comprehensive file/folder data
|
197
|
+
- Comprehensive test coverage with real API validation
|
198
|
+
|
199
|
+
### Enhanced
|
200
|
+
- **Test Coverage** - Added comprehensive test for get folder files API (2 total attachments tests)
|
201
|
+
- **Documentation** - Updated README with get folder files examples and complete workflow
|
202
|
+
- **API Completeness** - Attachments module now includes 2 comprehensive endpoints for complete file management
|
203
|
+
|
204
|
+
## [0.5.0] - 2024-12-19
|
205
|
+
|
206
|
+
### Added
|
207
|
+
- **Attachments Module** - New module for file and folder management
|
208
|
+
- `client.get_folders` - Get user's file folders with permissions and metadata
|
209
|
+
- Access to folder data including names, IDs, paths, child counts, and permissions
|
210
|
+
- Access to folder properties including pinned status, virtual folders, and upload/move permissions
|
211
|
+
- Clean dot notation access: `response.folders` with comprehensive folder data
|
212
|
+
- Comprehensive test coverage with real API validation
|
213
|
+
|
214
|
+
### Enhanced
|
215
|
+
- **Test Coverage** - Added comprehensive test for attachments module (1 total attachments test)
|
216
|
+
- **Documentation** - Updated README with attachments examples and complete workflow
|
217
|
+
- **Module Architecture** - Added new attachments module following established patterns
|
218
|
+
- **Test Runner** - Updated run_tests.sh to include attachments module testing
|
219
|
+
|
220
|
+
## [0.4.0] - 2024-12-19
|
221
|
+
|
222
|
+
### Added
|
223
|
+
- **Trackers Module** - New module for tracker management
|
224
|
+
- `client.get_trackers` - Get user's trackers with submission dates and conversation details
|
225
|
+
- Access to tracker data including names, IDs, submission dates, pinned status, and conversation info
|
226
|
+
- Access to tracker icon information with color codes and icon URLs
|
227
|
+
- Clean dot notation access: `response.trackers` with comprehensive tracker data
|
228
|
+
- Comprehensive test coverage with real API validation
|
229
|
+
|
230
|
+
### Enhanced
|
231
|
+
- **Test Coverage** - Added comprehensive test for trackers module (1 total trackers test)
|
232
|
+
- **Documentation** - Updated README with trackers examples and complete workflow
|
233
|
+
- **Module Architecture** - Added new trackers module following established patterns
|
234
|
+
- **Test Runner** - Updated run_tests.sh to include trackers module testing
|
235
|
+
|
236
|
+
## [0.3.2] - 2024-12-19
|
237
|
+
|
238
|
+
### Added
|
239
|
+
- **Get Library Items API** in Libraries Module
|
240
|
+
- `client.get_library_items(library_id, category_id)` - Get library items by library ID and category ID
|
241
|
+
- Access to library items including external links and attachments with full metadata
|
242
|
+
- Support for different link types (ExternalLink, Attachment) with specific properties
|
243
|
+
- Clean dot notation access: `response.library_items` with comprehensive item data
|
244
|
+
- Comprehensive test coverage with real API validation
|
245
|
+
|
246
|
+
### Enhanced
|
247
|
+
- **Test Coverage** - Added comprehensive test for get library items API (3 total libraries tests)
|
248
|
+
- **Documentation** - Updated README with get library items examples and complete workflow
|
249
|
+
- **API Completeness** - Libraries module now includes 3 comprehensive endpoints for complete library management
|
250
|
+
|
251
|
+
## [0.3.1] - 2024-12-19
|
252
|
+
|
253
|
+
### Added
|
254
|
+
- **Get Library Categories API** in Libraries Module
|
255
|
+
- `client.get_library_categories(library_id)` - Get detailed library information and categories by library ID
|
256
|
+
- Access to comprehensive library details including properties, metadata, and all categories
|
257
|
+
- Clean dot notation access: `response.library` with detailed library data and categories
|
258
|
+
- Comprehensive test coverage with real API validation
|
259
|
+
|
260
|
+
### Enhanced
|
261
|
+
- **Test Coverage** - Added comprehensive test for get library categories API (2 total libraries tests)
|
262
|
+
- **Documentation** - Updated README with get library categories examples and complete workflow
|
263
|
+
- **API Completeness** - Libraries module now includes 2 comprehensive endpoints for complete library management
|
264
|
+
|
265
|
+
## [0.3.0] - 2024-12-19
|
266
|
+
|
267
|
+
### Added
|
268
|
+
- **Libraries Module** - New module for document library management
|
269
|
+
- `client.get_libraries` - Get user's document libraries with categories and items
|
270
|
+
- Access to library data including names, types, view modes, descriptions, edit access, and positions
|
271
|
+
- Access to library categories with item counts, ranks, and system flags
|
272
|
+
- Clean dot notation access: `response.libraries` with comprehensive library data
|
273
|
+
- Comprehensive test coverage with real API validation
|
274
|
+
|
275
|
+
### Enhanced
|
276
|
+
- **Test Coverage** - Added comprehensive test for libraries module (1 total libraries test)
|
277
|
+
- **Documentation** - Updated README with libraries examples and complete workflow
|
278
|
+
- **Module Architecture** - Added new libraries module following established patterns
|
279
|
+
- **Test Runner** - Updated run_tests.sh to include libraries module testing
|
280
|
+
|
281
|
+
## [0.2.9] - 2024-12-19
|
282
|
+
|
283
|
+
### Added
|
284
|
+
- **Get Post By ID API** in Posts Module
|
285
|
+
- `client.get_post_by_id(post_id, full_description: "Y")` - Get detailed post information by ID
|
286
|
+
- Access to comprehensive post details including creator info, permissions, tiles, and full descriptions
|
287
|
+
- Clean dot notation access: `response.post` with detailed post data and metadata
|
288
|
+
- Comprehensive test coverage with real API validation
|
289
|
+
|
290
|
+
### Enhanced
|
291
|
+
- **Test Coverage** - Added comprehensive test for get post by ID API (2 total posts tests)
|
292
|
+
- **Documentation** - Updated README with get post by ID examples and complete workflow
|
293
|
+
- **API Completeness** - Posts module now includes 2 comprehensive endpoints for complete post management
|
294
|
+
|
295
|
+
## [0.2.8] - 2024-12-19
|
296
|
+
|
297
|
+
### Added
|
298
|
+
- **Posts Module** - New module for post management
|
299
|
+
- `client.get_all_posts(filter_by: "all")` - Get all posts with filtering options
|
300
|
+
- Access to post data including titles, authors, groups, view counts, comments, and tiles
|
301
|
+
- Clean dot notation access: `response.feeds`, `response.post_view_count_visibility`, and `response.post_view_count_link_config`
|
302
|
+
- Comprehensive test coverage with real API validation
|
303
|
+
|
304
|
+
### Enhanced
|
305
|
+
- **Test Coverage** - Added comprehensive test for posts module (1 total posts test)
|
306
|
+
- **Documentation** - Updated README with posts examples and complete workflow
|
307
|
+
- **Module Architecture** - Added new posts module following established patterns
|
308
|
+
- **Test Runner** - Updated run_tests.sh to include posts module testing
|
309
|
+
|
310
|
+
## [0.2.7] - 2024-12-19
|
311
|
+
|
312
|
+
### Added
|
313
|
+
- **Feeds Module** - New module for user activity feeds
|
314
|
+
- `client.feeds` - Get user's activity feeds with unread counts and feed details
|
315
|
+
- Access to feed data including titles, authors, groups, timestamps, and content
|
316
|
+
- Clean dot notation access: `response.feeds`, `response.unread_counts`, and `response.limit`
|
317
|
+
- Comprehensive test coverage with real API validation
|
318
|
+
|
319
|
+
### Enhanced
|
320
|
+
- **Test Coverage** - Added comprehensive test for feeds module (1 total feeds test)
|
321
|
+
- **Documentation** - Updated README with feeds examples and complete workflow
|
322
|
+
- **Module Architecture** - Added new feeds module following established patterns
|
323
|
+
- **Test Runner** - Updated run_tests.sh to include feeds module testing
|
324
|
+
|
325
|
+
## [0.2.6] - 2024-12-19
|
326
|
+
|
327
|
+
### Added
|
328
|
+
- **Notifications Module** - New module for user notifications and priority items
|
329
|
+
- `client.my_priority_items` - Get user's priority items including requests, events, quizzes, surveys, tasks, and todos
|
330
|
+
- Access to priority item details with counts, action types, icons, and descriptions
|
331
|
+
- Clean dot notation access: `response.data`, `response.success`, and `response.display_type`
|
332
|
+
- Comprehensive test coverage with real API validation
|
333
|
+
|
334
|
+
### Enhanced
|
335
|
+
- **Test Coverage** - Added comprehensive test for notifications module (1 total notifications test)
|
336
|
+
- **Documentation** - Updated README with notifications examples and complete workflow
|
337
|
+
- **Module Architecture** - Added new notifications module following established patterns
|
338
|
+
- **Test Runner** - Updated run_tests.sh to include notifications module testing
|
339
|
+
|
340
|
+
## [0.2.5] - 2024-12-19
|
341
|
+
|
342
|
+
### Added
|
343
|
+
- **Get Team Awards API** in Recognitions Module
|
344
|
+
- `client.get_team_awards(project_id: id)` - Get team awards for a specific project/team
|
345
|
+
- Access to team award feeds, core value tags, and notification counts
|
346
|
+
- Clean dot notation access: `response.feeds`, `response.core_value_tags`, and `response.unread_counts`
|
347
|
+
- Comprehensive test coverage with real API validation using All Users team
|
348
|
+
|
349
|
+
### Enhanced
|
350
|
+
- **Test Coverage** - Added comprehensive test for get team awards API (8 total recognitions tests)
|
351
|
+
- **Documentation** - Updated README with get team awards examples and complete recognition workflow
|
352
|
+
- **API Completeness** - Recognitions module now includes 8 comprehensive endpoints for complete recognition management
|
353
|
+
|
354
|
+
## [0.2.4] - 2024-12-19
|
355
|
+
|
356
|
+
### Added
|
357
|
+
- **Get Awards List API** in Recognitions Module
|
358
|
+
- `client.get_awards_list(category_id: id)` - Get awards for a specific category
|
359
|
+
- Access to award details including name, description, points, reward points, and attachment URLs
|
360
|
+
- Clean dot notation access: `response.get_awards_list` with comprehensive award data
|
361
|
+
- Comprehensive test coverage with real API validation using Safety & Quality category
|
362
|
+
|
363
|
+
### Enhanced
|
364
|
+
- **Test Coverage** - Added comprehensive test for get awards list API (6 total recognitions tests)
|
365
|
+
- **Documentation** - Updated README with get awards list examples and complete recognition workflow
|
366
|
+
- **API Completeness** - Recognitions module now includes 6 comprehensive endpoints for complete recognition management
|
367
|
+
|
368
|
+
## [0.2.3] - 2024-12-19
|
369
|
+
|
370
|
+
### Added
|
371
|
+
- **Gift Cards API** in Recognitions Module
|
372
|
+
- `client.gift_cards` - Get available gift cards for recognition rewards
|
373
|
+
- Access to gift card brands, descriptions, and availability status
|
374
|
+
- Clean dot notation access: `response.cards` with `brand_name`, `brand_key`, `description`, and `enabled` fields
|
375
|
+
- Comprehensive test coverage with real API validation
|
376
|
+
|
377
|
+
### Enhanced
|
378
|
+
- **Test Coverage** - Added comprehensive test for gift cards API (5 total recognitions tests)
|
379
|
+
- **Documentation** - Updated README with gift cards examples and complete recognition management workflow
|
380
|
+
- **API Completeness** - Recognitions module now includes 5 comprehensive endpoints
|
381
|
+
|
382
|
+
## [0.2.2] - 2024-12-19
|
383
|
+
|
384
|
+
### Added
|
385
|
+
- **Tango Gift Cards API** in Recognitions Module
|
386
|
+
- `client.tango_gift_cards` - Get tango gift cards information and available points
|
387
|
+
- Access to gift card terms and available points for recognition rewards
|
388
|
+
- Clean dot notation access: `response.tango_cards.available_points` and `response.tango_cards.terms`
|
389
|
+
- **Enhanced Test Runner** with module-specific testing
|
390
|
+
- `./run_tests.sh [module]` - Run tests for specific modules (learn, users, recognitions)
|
391
|
+
- `./run_tests.sh all` - Run all tests (default behavior)
|
392
|
+
- `./run_tests.sh help` - Show usage help and available modules
|
393
|
+
- Improved error handling and user-friendly output
|
394
|
+
|
395
|
+
### Enhanced
|
396
|
+
- **Test Coverage** - Added comprehensive test for tango gift cards API
|
397
|
+
- **Documentation** - Updated README with tango gift cards examples and new test runner usage
|
398
|
+
- **Developer Experience** - Faster development with module-specific testing capabilities
|
399
|
+
|
400
|
+
## [0.2.1] - 2024-12-19
|
401
|
+
|
402
|
+
### Added
|
403
|
+
- **Course Details API** in Learn Module
|
404
|
+
- `client.course_details(course_id)` - Get detailed course information by course ID
|
405
|
+
- Comprehensive course data including description, instructors, fields, and URLs
|
406
|
+
- Support for course metadata like certification details and skill requirements
|
407
|
+
|
408
|
+
## [0.2.0] - 2024-12-19
|
409
|
+
|
410
|
+
### Added
|
411
|
+
- **Recognitions Module** with comprehensive recognition management APIs
|
412
|
+
- `client.award_categories` - Get recognition award categories
|
413
|
+
- `client.core_value_tags` - Get core value tags for recognition
|
414
|
+
- `client.leaderboard_info` - Get user and team leaderboard information
|
415
|
+
- **Enhanced Learn Module** with user learning progress tracking
|
416
|
+
- `client.my_learning` - Get user's learning progress and course information
|
417
|
+
- **Improved Response API** with clean dot notation access for all endpoints
|
418
|
+
- **Robust Error Handling** for APIs that may return empty data (e.g., leaderboard)
|
419
|
+
|
420
|
+
### Enhanced
|
421
|
+
- **Modular Architecture** - Recognitions module uses folder structure like Learn module
|
422
|
+
- **Comprehensive Testing** - All new APIs tested with real OAuth integration
|
423
|
+
- **Documentation** - Complete README examples for all recognition features
|
424
|
+
- **Test Coverage** - 7 comprehensive API tests covering all modules
|
425
|
+
|
426
|
+
### Technical Improvements
|
427
|
+
- **Folder Structure** - Recognitions module organized with sub-modules for scalability
|
428
|
+
- **Error Resilience** - Tests handle both populated and empty API responses gracefully
|
429
|
+
- **Clean API Design** - Consistent method naming and response handling across all modules
|
430
|
+
|
431
|
+
## [0.1.0] - 2024-12-19
|
432
|
+
|
433
|
+
### Added
|
434
|
+
- **Initial Release** of MangoApps Ruby SDK
|
435
|
+
- **OAuth2/OpenID Connect** authentication with automatic token refresh
|
436
|
+
- **Modular Architecture** for easy API organization and extension
|
437
|
+
- **Real TDD Testing** with actual MangoApps API integration (no mocking)
|
438
|
+
- **Comprehensive Error Handling** with detailed request/response logging
|
439
|
+
- **Environment Variable Configuration** for secure credential management
|
440
|
+
|
441
|
+
### Features
|
442
|
+
- **Users Module**
|
443
|
+
- `client.me` - Get current user profile information
|
444
|
+
- User authentication validation
|
445
|
+
- Detailed error logging for failed requests
|
446
|
+
|
447
|
+
- **Learn Module**
|
448
|
+
- `client.course_catalog` - Get available courses
|
449
|
+
- `client.course_categories` - Get course categories
|
450
|
+
- `client.course_category(id)` - Get specific category details
|
451
|
+
|
452
|
+
### Development Tools
|
453
|
+
- **Separated Scripts** for OAuth and testing workflows
|
454
|
+
- `./run_auth.sh` - Interactive OAuth token acquisition
|
455
|
+
- `./run_tests.sh` - Fast API testing with token validation
|
456
|
+
- **Module Generator** (`generate_module.rb`) for automated module creation
|
457
|
+
- **Shared Test Helpers** for consistent testing patterns
|
458
|
+
- **Development Documentation** (`MODULES.md`)
|
459
|
+
|
460
|
+
### Technical Implementation
|
461
|
+
- **Faraday HTTP Client** with retry middleware and JSON handling
|
462
|
+
- **PKCE Support** for secure OAuth2 flows
|
463
|
+
- **Token Management** with automatic refresh capabilities
|
464
|
+
- **Structured Error Classes** for different API error scenarios
|
465
|
+
- **Request/Response Logging** for debugging failed API calls
|
466
|
+
|
467
|
+
### Testing
|
468
|
+
- **Real API Integration Tests** using actual MangoApps endpoints
|
469
|
+
- **Comprehensive Test Coverage** for all implemented modules
|
470
|
+
- **Error Scenario Testing** with detailed logging
|
471
|
+
- **OAuth Flow Testing** with token validation
|
472
|
+
|
473
|
+
### Documentation
|
474
|
+
- **Complete README** with setup instructions and examples
|
475
|
+
- **API Documentation** with usage examples for each module
|
476
|
+
- **Development Guidelines** for adding new modules
|
477
|
+
- **Configuration Examples** for different use cases
|
478
|
+
|
479
|
+
### Security
|
480
|
+
- **Environment Variable** configuration for sensitive data
|
481
|
+
- **PKCE OAuth2** implementation for public clients
|
482
|
+
- **Secure Token Storage** and management
|
483
|
+
- **Input Validation** and sanitization
|
484
|
+
|
485
|
+
---
|
486
|
+
|
487
|
+
## Development Notes
|
488
|
+
|
489
|
+
### Architecture Decisions
|
490
|
+
- **Modular Design**: Each API area (Users, Learn, etc.) is organized into separate modules
|
491
|
+
- **Real TDD**: All tests use actual MangoApps API calls for authentic validation
|
492
|
+
- **Error Handling**: Comprehensive error logging with full request/response details
|
493
|
+
- **Scalability**: Easy to add new modules using the generator script
|
494
|
+
|
495
|
+
### Future Roadmap
|
496
|
+
- **Files Module**: File upload/download and management
|
497
|
+
- **Posts Module**: Social posts and announcements
|
498
|
+
- **Groups Module**: User groups and permissions
|
499
|
+
- **Projects Module**: Project management features
|
500
|
+
- **Tasks Module**: Task tracking and management
|
501
|
+
- **Events Module**: Calendar and event management
|
502
|
+
- **Documents Module**: Document management
|
503
|
+
- **Announcements Module**: Company announcements
|
504
|
+
|
505
|
+
### Contributing
|
506
|
+
See [MODULES.md](MODULES.md) for guidelines on adding new modules and APIs.
|