Coder Social home page Coder Social logo

caldavjs-nextcloud's Introduction

CalDavJS-Nextcloud

Client library for CalDAV

Installation and Usage

npm install --save caldavjs-nextcloud
settings: {
    username: "",
    password: "",
    access_token: "An access token to use in place of username/password (not used unless setup in Nextcloud)",
    server: "https://cloud.example.com:3333 or https://cloud.example.com:3333/nextcloud", //NO trailing "/"
    basePath: "The absolute path for caldav calls, e.g. /remote.php/dav for Nextcloud", //YES lead "/"; NO trailing "/"
    principalPath: "The relative path where principals can be found, e.g. /principals/users",  //YES lead "/"; NO trailing "/",
    timezone: "America/Chicago", //sets the default, can be overridden in methods
    parserLogging: true //toggles verbose logging from the calendar parser
  }

caldav.listCalendars({}).then(data => {
  console.log(data);
});

Description

Access and update calendar data using the CalDAV protocol

Actions

listEvents

caldav.listEvents({
  "filename": "/calendars/admin/calendar-name-at-end-of-private-link",
  "start": "20200601T000000Z",
  "end": "20200630T115959Z",
})

Input

  • input object
    • filename required string
    • start date-time
    • end date-time

Output

  • output array
    • items object
      • allDay boolean
      • etag string
      • calendarData string
      • start string
      • end string
      • summary string
      • location string
      • description string
      • color string
      • categories string comma separated
      • json json all event data which was not parsed

createCalendar

caldav.createCalendar({
  "name": "",
  "timezone": "", // only to override settings
  "filename": ""
})

Input

  • input object
    • name required string
    • timezone required string
    • filename required string
    • description string

Output

  • output string

listCalendars

caldav.listCalendars({})

Input

  • input object

Output

  • output array
    • items object
      • owner string
      • displayName string
      • ctag string
      • syncToken string

deleteCalendar

caldav.deleteCalendar({
  "filename": "/calendars/admin/calendar-name-at-end-of-private-link" 
})

Input

  • input object
    • filename required string

Output

  • output string

getChanges

caldav.getChanges({
  "filename": "/calendars/admin/calendar-name-at-end-of-private-link" 
  "syncToken": "http://sabre.io/ns/sync/90" 
})

Input

  • input object
    • filename required string
    • syncToken required string //obtained from list calendars

Output

  • output object
    • syncToken string
    • changes array
      • items object
        • href string
        • etag string

createEvent

caldav.createEvent({
  "allDay": false,
  "start": "ISODateString",
  "end": "ISODateString",
  "summary": "title",
  "filename": "/calendars/admin/calendar-name-at-end-of-private-link/unique-filename-for-this-event",
  "location": "wherever",
  "description": "tell them about it",
  "timezone": "America/Chicago", //only to override settings
  "color": "green",
  "categories": [
    { "name" : "awesome" },
    { "name" : "tags" },
    { "name" : "go" },
    { "name" : "here" }
  ],
  "attendees": [
    {
      "name": "name",
      "email": "[email protected]",
      "mailto": "[email protected]", //to override email
      "type": "one of: individual, group, room, resource, unknown"
    }
  ],
  "organizer": 
    {
      "name": "name",
      "email": "[email protected]",
      "mailto": "[email protected]", //to override email
    }
})

Input

  • input object
    • start required string
    • end required string
    • summary required string
    • organizer string
    • filename required string
    • location string
    • description string
    • timezone string
    • color string
    • categories array of objects
      • name string
    • attendees array of objects
      • name string
      • email string
      • mailto string
      • type string one of "individual", "group", "room", "resource", "unknown"
    • organizer object
      • name string
      • email string
      • mailto string

Output

  • output string

deleteEvent

caldav.deleteEvent({
  "filename": ""
})

Input

  • input object
    • filename required string

Output

  • output string

caldavjs-nextcloud's People

Contributors

slytiger16 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.