Comment on page
State Resource
Manages learner state for an activity.
Creates or merges into a state document by the agent, activity identifier and state identifier.
const agent: Agent = {
objectType: "Agent",
name: "Test Agent",
mbox: "mailto:[email protected]"
};
const activityId: string = "https://example.com/activities/test-activity";
const stateId: string = activityId + "/states/myStateId";
const state: DocumentJson = {
myKey: "myValue"
};
xapi.createState({
agent: agent,
activityId: activityId,
stateId: stateId,
state: state
});
Parameter | Type | Required | Description |
agent | true | The agent experiencing the AU. | |
activityId | string | true | The URI of the activity. |
stateId | string | true | The URI of the state to be created or merged into. |
state | true | The state data to be stored. | |
registration | string | false | The registration associated with this state. |
etag | string | false | The ETag of the original document if merging. |
matchHeader | string | false | The ETag header type. Accepts "If-Match" or "If-None-Match". |
This method returns an
AxiosPromise
with empty success data
if successful.Creates or overwrites a state document by the agent, activity identifier and state identifier.
const agent: Agent = {
objectType: "Agent",
name: "Test Agent",
mbox: "mailto:[email protected]"
};
const activityId: string = "https://example.com/activities/test-activity";
const stateId: string = activityId + "/states/myStateId";
const state: Document = {
myKey: "myValue"
};
xapi.setState(agent, activityId, stateId, state);
Parameter | Type | Required | Description |
agent | true | The agent experiencing the AU. | |
activityId | string | true | The URI of the activity. |
stateId | string | true | The URI of the state to be created or overwritten. |
state | true | The state data to be stored. | |
registration | string | false | The registration associated with this state. |
etag | string | false | The ETag of the original document if overwriting. |
matchHeader | string | false | The ETag header type. Accepts "If-Match" or "If-None-Match". |
contentType | string | false | The content type of the state data. |
This method returns an
AxiosPromise
with empty success data
if successful.Gets an array of state identifiers by the agent and activity identifier.
const agent: Agent = {
objectType: "Agent",
name: "Test Agent",
mbox: "mailto:[email protected]"
};
const activityId: string = "https://example.com/activities/test-activity";
xapi.getStates({
agent: agent,
activityId: activityId
}).then((result: AxiosResponse<string[]>) => {
const states: string[] = result.data;
console.log(states); // ["https://example.com/activities/test-activity/states/myStateId"]
});
Parameter | Type | Required | Description |
agent | true | The agent experiencing the AU. | |
activityId | string | true | The URI of the activity. |
registration | string | false | The registration associated with this state. |
since | Timestamp | false | Only return States stored since specified Timestamp. |
useCacheBuster | boolean | false | Enables cache busting. |
This method returns an
AxiosPromise
with the success data
containing an array of state identifiers if successful.Gets a state document by the agent, activity identifier and the state identifier.
const agent: Agent = {
objectType: "Agent",
name: "Test Agent",
mbox: "mailto:[email protected]"
};
const activityId: string = "https://example.com/activities/test-activity";
const stateId: string = activityId + "/states/myStateId";
xapi.getState({
agent: agent,
activityId: activityId,
stateId: stateId
}).then((result: AxiosResponse<Document>) => {
const state = result.data;
// do stuff with state
});
Parameter | Type | Required | Description |
agent | true | The agent experiencing the AU. | |
activityId | string | true | The URI of the activity. |
stateId | string | true | The URI of the state to be retrieved. |
registration | string | false | The registration associated with this state. |
useCacheBuster | boolean | false | Enables cache busting. |
This method returns an
AxiosPromise
with the success data
containing the stored Document if successful.Deletes a state document by the agent, activity identifier and the state identifier.
const agent: Agent = {
objectType: "Agent",
name: "Test Agent",
mbox: "mailto:[email protected]"
};
const activityId: string = "https://example.com/activities/test-activity";
const stateId: string = activityId + "/states/myStateId";
xapi.deleteState({
agent: agent,
activityId: activityId,
stateId: stateId
});
Parameter | Type | Required | Description |
agent | true | The agent experiencing the AU. | |
activityId | string | true | The URI of the activity. |
stateId | string | true | The URI of the state to be deleted. |
registration | string | false | The registration associated with this stage. |
etag | string | false | The ETag of the original document. |
This method returns an
AxiosPromise
with empty success data
if successful.Deletes all state documents by the agent and activity identifier.
const agent: Agent = {
objectType: "Agent",
name: "Test Agent",
mbox: "mailto:[email protected]"
};
const activityId: string = "https://example.com/activities/test-activity";
xapi.deleteStates({
agent: agent,
activityId: activityId
});
Parameter | Type | Required | Description |
agent | true | The agent experiencing the AU. | |
activityId | string | true | The URI of the activity. |
registration | string | false | The registration associated with this stage. |
etag | string | false | The ETag of the original document if overwriting. |
This method returns an
AxiosPromise
with empty success data
if successful.