Giter VIP home page Giter VIP logo

mservice-calendar's Introduction

Code Climate Build Status codecov

NOTICE: PGSQL extensions required

Ensure to enable this: CREATE EXTENSION btree_gist; Ensure to enable this: CREATE EXTENSION btree_gin;

These will allow us to create indices on varchar[] & date ranges

What we can do:

  • create recurring event using RRule, multi-tenancy support
  • update that event, including meta & period
  • remove an event
  • list events by tenant within a given time frame, including filtering by tags & hosts/participants

Roadmap

  • subscribe to events
  • unsubscribe from event
  • send "notification" to subscribers when event changes
  • support pagination by events or add max time frame to prevent extreme database load

mservice-calendar's People

Contributors

fuwaneko avatar avvs avatar semantic-release-bot avatar felipegcampos avatar aleksxor avatar rodgarcialima avatar sashabratchikov avatar dependabot[bot] avatar

Stargazers

 avatar Leonardo Bessa avatar

Watchers

James Cloos avatar  avatar bludzhd avatar  avatar  avatar

mservice-calendar's Issues

crash on specific input

{"name":"mservice","hostname":"185ebcd46c77","pid":1,"level":50,"route":"calendar.event.create","params":{"token":"","event":{"title":"Test show","description":"A great show","tags":["news","60s","blues"],"hosts":["Bob"],"duration":30,"rrule":"DTSTART=20161208T070000Z;UNTIL=20170601T060000Z;WKST=SU;BYDAY=TH","owner":"[email protected]"}},"method":"post","transport":"http","headers":{"host":"api.radiofx.co","accept-encoding":"gzip","cf-ipcountry":"US","x-forwarded-for":"2601:0240:d200:ef37:dcbd:8515:0c25:647c, 172.68.59.36","cf-ray":"30e16a2e2b8a561f-ORD","content-length":"434","x-forwarded-proto":"https, https","cf-visitor":"{\"scheme\":\"https\"}","accept":"application/json","origin":"https://admin.radiofx.co","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36","content-type":"application/json;charset=UTF-8","referer":"https://admin.radiofx.co/dashboard/schedule","accept-language":"en-US,en;q=0.8","cf-pseudo-ipv4":"252.82.240.0","cf-connecting-ip":"2601:0240:d200:ef37:dcbd:8515:0c25:647c","connection":"close"},"query":{},"latency":25.303,"msg":"Error performing operation TypeError: Cannot read property 'call' of undefined","time":"2016-12-08T15:57:44.178Z","v":0}
{"name":"mservice","hostname":"185ebcd46c77","pid":1,"level":60,"msg":"unexpected error TypeError: Cannot read property 'call' of undefined\n    at RRule._iter (/src/node_modules/rrule/lib/rrule.js:1097:28)\n    at RRule.all (/src/node_modules/rrule/lib/rrule.js:831:31)\n    at Function.generateSpans (/src/lib/services/storage.js:30:32)\n    at knex.transacting.returning.insert.spread (/src/lib/services/storage.js:76:31)\n    at bound (domain.js:280:14)\n    at runBound (domain.js:293:12)\n    at tryCatcher (/src/node_modules/bluebird/js/release/util.js:16:23)\n    at Promise._settlePromiseFromHandler (/src/node_modules/bluebird/js/release/promise.js:507:35)\n    at Promise._settlePromise (/src/node_modules/bluebird/js/release/promise.js:567:18)\n    at Promise._settlePromise0 (/src/node_modules/bluebird/js/release/promise.js:612:10)\n    at Promise._settlePromises (/src/node_modules/bluebird/js/release/promise.js:691:18)\n    at Promise._fulfill (/src/node_modules/bluebird/js/release/promise.js:636:18)\n    at PromiseArray._resolve (/src/node_modules/bluebird/js/release/promise_array.js:125:19)\n    at PromiseArray._promiseFulfilled (/src/node_modules/bluebird/js/release/promise_array.js:143:14)\n    at PromiseArray._iterate (/src/node_modules/bluebird/js/release/promise_array.js:113:31)\n    at PromiseArray.init [as _init] (/src/node_modules/bluebird/js/release/promise_array.js:77:10)","time":"2016-12-08T15:57:44.178Z","v":0}
--
{"name":"mservice","hostname":"185ebcd46c77","pid":1,"level":50,"route":"calendar.event.create","params":{"token":"","event":{"title":"Test show","description":"A great show","tags":["news","60s","blues"],"hosts":[],"duration":30,"rrule":"DTSTART=20161208T070000Z;UNTIL=20170601T060000Z;WKST=SU;BYDAY=TH","owner":"[email protected]"}},"method":"post","transport":"http","headers":{"host":"api.radiofx.co","accept-encoding":"gzip","cf-ipcountry":"US","x-forwarded-for":"2601:0240:d200:ef37:dcbd:8515:0c25:647c, 172.68.59.36","cf-ray":"30e16a9ded45561f-ORD","content-length":"429","x-forwarded-proto":"https, https","cf-visitor":"{\"scheme\":\"https\"}","accept":"application/json","origin":"https://admin.radiofx.co","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36","content-type":"application/json;charset=UTF-8","referer":"https://admin.radiofx.co/dashboard/schedule","accept-language":"en-US,en;q=0.8","cf-pseudo-ipv4":"252.82.240.0","cf-connecting-ip":"2601:0240:d200:ef37:dcbd:8515:0c25:647c","connection":"close"},"query":{},"latency":29.171,"msg":"Error performing operation TypeError: Cannot read property 'call' of undefined","time":"2016-12-08T15:58:02.049Z","v":0}
{"name":"mservice","hostname":"185ebcd46c77","pid":1,"level":60,"msg":"unexpected error TypeError: Cannot read property 'call' of undefined\n    at RRule._iter (/src/node_modules/rrule/lib/rrule.js:1097:28)\n    at RRule.all (/src/node_modules/rrule/lib/rrule.js:831:31)\n    at Function.generateSpans (/src/lib/services/storage.js:30:32)\n    at knex.transacting.returning.insert.spread (/src/lib/services/storage.js:76:31)\n    at bound (domain.js:280:14)\n    at runBound (domain.js:293:12)\n    at tryCatcher (/src/node_modules/bluebird/js/release/util.js:16:23)\n    at Promise._settlePromiseFromHandler (/src/node_modules/bluebird/js/release/promise.js:507:35)\n    at Promise._settlePromise (/src/node_modules/bluebird/js/release/promise.js:567:18)\n    at Promise._settlePromise0 (/src/node_modules/bluebird/js/release/promise.js:612:10)\n    at Promise._settlePromises (/src/node_modules/bluebird/js/release/promise.js:691:18)\n    at Promise._fulfill (/src/node_modules/bluebird/js/release/promise.js:636:18)\n    at PromiseArray._resolve (/src/node_modules/bluebird/js/release/promise_array.js:125:19)\n    at PromiseArray._promiseFulfilled (/src/node_modules/bluebird/js/release/promise_array.js:143:14)\n    at PromiseArray._iterate (/src/node_modules/bluebird/js/release/promise_array.js:113:31)\n    at PromiseArray.init [as _init] (/src/node_modules/bluebird/js/release/promise_array.js:77:10)","time":"2016-12-08T15:58:02.049Z","v":0}

ms-users docker image throwing error

When running with
image: makeomatic/ms-users:9.3.0-8.0.4
volumes:
- ${PWD}/test/configs:/src/configs:ro
environment:
NODE_ENV: 'production'
NCONF_FILE_PATH: '["/src/configs/ms-users/config.js"]'
MS_USERS__LOGGER__DEFAULT_LOGGER: 'true'
MS_USERS__INIT_ADMIN_ACCOUNTS_DELAY: '1'

Its crashing and throwing the error:

ms-users_1 | fs.js:968
ms-users_1 | binding.stat(pathModule.toNamespacedPath(path));
ms-users_1 | ^
ms-users_1 |
ms-users_1 | Error: ENOENT: no such file or directory, stat '/src/configs/ms-users/config.js'
ms-users_1 | at Object.fs.statSync (fs.js:968:11)
ms-users_1 | at paths.reduce (/src/node_modules/ms-conf/lib/load-config.js:81:22)
ms-users_1 | at Array.reduce ()
ms-users_1 | at resolveAbsPaths (/src/node_modules/ms-conf/lib/load-config.js:80:31)
ms-users_1 | at globFiles (/src/node_modules/ms-conf/lib/load-config.js:105:3)
ms-users_1 | at loadConfiguration (/src/node_modules/ms-conf/lib/load-config.js:153:5)
ms-users_1 | at reload (/src/node_modules/ms-conf/lib/index.js:15:32)
ms-users_1 | at Object.loadStore [as get] (/src/node_modules/ms-conf/lib/index.js:64:19)
ms-users_1 | at Object. (/src/lib/users.js:142:30)
ms-users_1 | at Module._compile (module.js:660:30)
ms-users_1 | at Object.Module._extensions..js (module.js:671:10)
ms-users_1 | at Module.load (module.js:573:32)
ms-users_1 | at tryModuleLoad (module.js:513:12)
ms-users_1 | at Function.Module._load (module.js:505:3)
ms-users_1 | at Module.require (module.js:604:17)
ms-users_1 | at require (internal/module.js:11:18)

Similar things is happening with other tags of docker image as well.

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.