moodle-ws
v1.0.12
Published
Moodle Web Services Client for Node js
Downloads
82
Maintainers
Readme
Description
Moodle Web Services (Core Api's) wrapper for nodejs. Written in TypeScript.
Installation
$ npm i moodle-ws
Environment/Setup
Create .env file in your root folder.
Add configuration and credentials
MWS_URL="" MWS_USER="" MWS_PASS=""
Sample configuration
MWS_URL="https://yourlms.com" MWS_USER="username" MWS_PASS="password"
Usage
Import via ES6 syntax
import { MwsService } from 'moodle-ws'; //call a new instance const mws = new MwsService();
createUser Service (create an object that contains required params example below)
const user = { username: 'jlzcrn3', password: 'samplepass', firstname: 'Julz', lastname: 'Crn', email: '[email protected]', country: 'PH', lang: 'en' } //expected return { "id": 1, "username": "jlzcrn3" } return await mws.createUser(user)
getUser Service (will return specific user using (key, value))
//key = 'email' && value = '[email protected]', Note: you can use other key like username etc.. return await mws.getUser('email', '[email protected]')
updateUser Service (create an object that contains required params example below)
const user = { id: 1, username: 'jlzcrn3', password: 'newpassword', firstname: 'New Name', lastname: 'New Last Name', email: '[email protected]' } //expected return { warnings: [] } //if warnings are empty means moodle udpate rules are satisfied and user succesfully updated return await updateUser(user)
createCategory Service
const category = { name: 'MWS Category', parent: 0, // Note: if you want to put your category in top level use 0 as value but if it's under sub category pass the value of parent category id. description: 'Moodle Web Services Category' } //expected return [{ "id": 17, "name": "MWS Category"}] return await mws.createCategory(category)
updateCategory Service
const category = { id: 17, name: 'MWS Updated Category', description: 'Moodle Web Services Updated Category' } //expected return is 200 if the update was success return await mws.updateCategory(category)
createCourse Service (create Course under course category)
const course = { fullname: 'MWS Course', // course name categoryid: 17, // parent category id shortname: 'MWSC', //shortname summary: 'MWS Course' // description here } //expected return [{ "id": 18, "shortname": "MWSC"}] return await mws.createCourse(course)
updateCourse Service
const course = { id: 18, fullname: 'MWS Updated Course', // course name } //expected return { warnings: [] } //if warnings are empty means course updated successfully return await mws.updateCourse(course)
enrollUser Service
const enrollment = { roleId: 5, // Note: roleid depends on your moodle roles moodleId: 1, // pass the moodle Id of the user, This is the moodle user id in your app courseId: 18 // pass the course id } //expected return is 200 if the enrollment was success return await mws.enrollUser(enrollment)
unEnrollUser Service
const unenroll = { roleId: 5, // in our Moodle the value of 5 is student moodleId: 1, // pass the moodle Id of the user, This is the moodle user id in your app courseId: 18 // pass the course id } //expected return is 200 if the unenrollment was success return await mws.unEnrollUser(unenroll)
Stay in touch
- Author - Jlz/Rdgjr/Lnnn/Tphr/Frn/Rnld
Final Toughts
- Crying while coding is normal!