npm.io
1.6.0 • Published 2 months ago

@zanichelli/zanichelli-lrs-client

Licence
MIT
Version
1.6.0
Deps
0
Size
38 kB
Vulns
0
Weekly
0

Zanichelli logo

Zanichelli LRS Client Library

This library exposes a client that allows statements to be sent to Zanichelli's Learning Records Store in a predefined format

Example of a sent statement

{
  "lrs_id": "6c4c289a8062c07ed758ea53c",
  "client_id": "98b5ad57-d547-416c-9429-5671e325366f",
  "statement": {
    "verb": {
      "id": "https://api.zanichelli.it/xapi/verbs/closed"
    },
    "context": {
      "platform": "adv",
      "extensions": {
        "https://api.zanichelli.it/xapi/keys/referer/id": "1"
      },
      "contextActivities": {
        "parent": [
          {
            "id": "http://info.zanichelli.it:3333"
          }
        ]
      }
    },
    "object": {
      "objectType": "Activity",
      "id": "https://info.zanichelli.it:3333",
      "definition": {
        "extensions": {
          "https://api.zanichelli.it/xapi/doNotShowAgain": false
        }
      }
    },
    "actor": {
      "objectType": "Agent",
      "account": {
        "homePage": "https://adv.zanichelli.it",
        "name": "anonymous"
      }
    },
    "timestamp": "2024-01-11T10:13:48.375000+00:00",
    "version": "1.0.0",
    "authority": {
      "name": "Zanichelli",
      "mbox": "mailto:info@Zanichelli.it"
    },
    "stored": "2024-01-11T10:13:48.858909+00:00",
    "id": "1ca5051a-b06a-11ee-906e-0242ac110002"
  }
}

Installation (if you still need)

Download the package running this command:

yarn add @zanichelli/zanichelli-lrs-client

or import it in your html using Unpkg:

<script
  type="module"
  src="https://cdn.jsdelivr.net/npm/@zanichelli/zanichelli-lrs-client/dist/index.js"
></script>

Release Procedure

yarn release
yarn link

In the destination project folder run

yarn link @zanichelli/zanichelli-lrs-client

Usage

It is recommended to create a utility file where to import the client and instantiate it

import { LrsClient } from "@zanichelli/zanichelli-lrs-client";

export const client = new LrsClient("environment", "platform", "homepage", {
  username: LRS_USERNAME,
  password: LRS_PASSWORD,
});

You must set the Lrs environment (test or prod) to be called and the specific credentials of the application that is sending the statements

In order to send the statements a send method is provided:

client.send(arg: StatementParams)
interface StatementParams {
	verb: string;
	actor: ActorParams;
	context?: ContextParams;
	object: ObjectParams;
	authority?: AuthorityParams;
	result?: ResultParams;
}