README.md in quiz_api_client-0.1.10 vs README.md in quiz_api_client-0.2.0
- old
+ new
@@ -41,151 +41,72 @@
JWTs are created without hitting quiz_api and and they are validated on quiz_api. Tokens are created for a given scope, expiration, and an optional resource_id.
Example, generate a token for building:
```ruby
-client.quiz_service.token(
+client.jwt_service.grant_permission(
scope: client.quiz_service.scope_build,
exp: Time.now.utc.to_i + 60, # some reasonable time, obviously longer is more a security risk
resource_id: 1)
```
### Calling the API
Example, create a Quiz:
+
```ruby
client.quizzes_service.create(
params: {
title: 'My quiz'
- }
+ },
+ token: my_scoped_token
)
```
### Currently Supported Functionality
-#### Banks Service
-
-**Tokens**
-```ruby
-# Generate Build token
-client.banks_service.token(
- scope: client.banks_service.scope_build,
- exp: some_expiration
-)
-```
-
-#### Quiz Service
-
-**Tokens**
-```ruby
-# Generate Build token
-client.quiz_service.token(
- scope: client.quiz_service.scope_build,
- exp: some_expiration,
- resource_id: quiz_id_here
-)
-```
-
#### Quizzes Service
-**Tokens**
```ruby
-# Generate token: Create Quiz
-client.quizzes_service.token(
- scope: client.quizzes_service.scope_create,
- exp: some_expiration
-)
-
-# List Quizzes
-client.quizzes_service.token(
- scope: client.quizzes_service.scope_list,
- exp: some_expiration
-)
-```
-
-**API Calls**
-```ruby
# Create Quiz
-client.quizzes_service.create(params:)
+client.quizzes_service.create(token:, params:)
# List Quizzes
-client.quizzes_service.list(params:)
+client.quizzes_service.list(token:, params:)
```
#### Quiz Session Service
-**Tokens**
```ruby
-# Generate token: Grade Quiz Session
-client.quiz_session_service.token(
- scope: client.quiz_session_service.scope_grade,
- exp: some_expiration,
- resource_id: quiz_session_id
-)
-
-# Generate token: Take Quiz Session
-client.quiz_session_service.token(
- scope: client.quiz_session_service.scope_take,
- exp: some_expiration,
- resource_id: quiz_session_id
-)
-
-# Generate token: Update Quiz Session
-client.quiz_session_service.token(
- scope: client.quiz_session_service.scope_update,
- exp: some_expiration,
- resource_id: quiz_session_id
-)
-```
-
-**API Calls**
-```ruby
# Update Quiz Session
client.quiz_session_service.update(
+ token: my_scoped_token,
params: {
id: quiz_session_id,
# Other params here
}
)
```
#### Quiz Sessions Service
-**Tokens**
```ruby
-# Generate token: Create Quiz Session
-client.quiz_sessions_service.token(
- scope: client.quiz_sessions_service.scope_create,
- exp: some_expiration
-)
-```
-
-**API Calls**
-```ruby
# Create Quiz Session
client.quiz_sessions_service.create(
+ token: my_scoped_token,
params: {
quiz_id: quiz_id_to_create_session_under
}
)
```
#### QTI Imports Service
-**Tokens**
```ruby
-# Generate token: Create Qti Import
-client.qti_imports_service.token(
- scope: client.quizzes_service.scope_create,
- exp: some_expiration
-)
-```
-
-**API Calls**
-```ruby
# Create QTI Import
client.qti_imports_service.create(
+ token: my_scoped_token,
params: {
quiz_id: quiz_id_to_create_import_under,
qti_import: {
url: url where QTI Export is stored
}
@@ -193,71 +114,45 @@
)
```
#### Item Analyses Service
-**Tokens**
```ruby
-# Generate token: Fetch Item Analyses
-client.item_analyses_service.token(
- scope: client.item_analyses_service.scope_analysis,
- exp: some_expiration
-)
-```
-
-**API Calls**
-```ruby
# List item analyses
client.item_analyses_service.list(
+ token: my_scoped_token,
params: {
quiz_id: quiz_id_to_list_items_under
}
)
# get specific item analysis
client.item_analyses_service.get(
+ token: my_scoped_token,
params: {
quiz_id: quiz_id_to_list_items_under,
id: item_id_to_get_under
}
)
```
#### Quiz Analyses Service
-**Tokens**
```ruby
-# Generate token: Fetch Quiz Analyses
-client.quiz_analyses_service.token(
- scope: client.quiz_analyses_service.scope_analysis,
- exp: some_expiration
-)
-```
-
-**API Calls**
-```ruby
# get specific item analysis
client.quiz_analyses_service.get(
+ token: my_scoped_token,
params: {
quiz_id: quiz_id_to_get_analysis
}
)
```
#### Quiz Session Events Service
-**Tokens**
```ruby
-# Generate token: Fetch Quiz Session Events
-client.quiz_session_events_service.token(
- scope: client.quiz_session_events_service.scope_list,
- exp: some_expiration
-)
-```
-
-**API Calls**
-```ruby
# list quiz session events
client.quiz_session_events_service.list(
+ token: my_scoped_token,
params: {
quiz_session_id: quiz_session_id_to_get_events_under
}
)
```