Skip to content

Instantly share code, notes, and snippets.

View chamerling's full-sized avatar
🤟

Christophe Hamerling chamerling

🤟
View GitHub Profile
const axios = require('axios');
const { from, interval } = require('rxjs');
const { switchMap, pluck, flatMap, distinct, skip } = require('rxjs/operators');
const baseURL = process.env.GITLAB_ENDPOINT || 'https://gitlab.com';
const privateToken = process.env.GITLAB_TOKEN;
const pollingInterval = 2000;
const client = axios.create({ baseURL, headers: { 'Private-Token': privateToken }});
function fetchMergeRequests() {
const axios = require('axios');
const { from, interval } = require('rxjs');
const { switchMap, pluck, flatMap, distinct } = require('rxjs/operators');
const baseURL = process.env.GITLAB_ENDPOINT || 'https://gitlab.com';
const privateToken = process.env.GITLAB_TOKEN;
const pollingInterval = 5000;
const client = axios.create({ baseURL, headers: { 'Private-Token': privateToken }});
function fetchMergeRequests() {
@chamerling
chamerling / payload.json
Created June 26, 2018 15:42
james:events
{"ical":"BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.2//EN\r\nCALSCALE:GREGORIAN\r\nMETHOD:REQUEST\r\nBEGIN:VTIMEZONE\r\nTZID:Europe/Berlin\r\nBEGIN:DAYLIGHT\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nTZNAME:CEST\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nTZNAME:CET\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:44c01dc1-523e-4c59-a432-55c59ac5826c\r\nTRANSP:OPAQUE\r\nDTSTART:20180628T130000Z\r\nDTEND:20180628T140000Z\r\nCLASS:PUBLIC\r\nSUMMARY:Debug me\r\nORGANIZER;CN=admin admin:mailto:admin@open-paas.org\r\nATTENDEE;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVI\r\n DUAL;CN=John2 Doe2:mailto:user2@open-paas.org\r\nATTENDEE;PARTSTAT=ACCEPTED;RSVP=FALSE;ROLE=CHAIR;CUTYPE=INDIVIDUAL:mailto:a\r\n dmin@open-paas.org\r\nDTSTAMP:20180626T153850Z\r\nSEQUENCE:0\r\nEND:VEVENT\r\nEND:VCALEN
<template>
<v-content>
<v-container fluid fill-height>
<v-layout align-center justify-center>
<v-flex xs12 sm8 md4>
<v-card class="elevation-12">
<v-toolbar>
<v-toolbar-title>OpenPaaS Login</v-toolbar-title>
</v-toolbar>
<v-card-text>
// openpaas does not send back JWT token in response header,
// so we need to create a new plugin for vue-auth
// It sends back the token which is in jwt/generate response
module.exports = {
request(req, token) {
this.options.http._setHeaders.call(this, req, { Authorization: `Bearer ${token}` });
},
response(res) {
@chamerling
chamerling / main.js
Created March 21, 2018 19:27
Use vue-auth
import Vue from 'vue';
import VueAxios from 'vue-axios';
import axios from 'axios';
import App from './App.vue';
import router from './router';
import store from './store';
Vue.use(VueAxios, axios);
Vue.router = router;
@chamerling
chamerling / jwt.md
Created January 17, 2018 13:33
OpenPaaS JWT Auth

Login to openpaas with login/password

Request

HTTP POST

Response

User profile as JSON with session cookie.

Elasticsearch WARNING: 2017-12-19T08:39:16Z
Unable to revive connection: http://localhost:9200/
Elasticsearch WARNING: 2017-12-19T08:39:16Z
No living connections
error: Event amqp:disconnected:f4338907-4431-43b6-a543-420a9650b32e can not be indexed Error: No Living connections
at sendReqWithConnection (/Users/chamerling/src/openpaas/esn/node_modules/elasticsearch/src/lib/transport.js:207:15)
at next (/Users/chamerling/src/openpaas/esn/node_modules/elasticsearch/src/lib/connection_pool.js:213:7)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
@chamerling
chamerling / esn.configurations[0].json
Created October 19, 2017 16:14
OP configuration docker env
{
"_id": ObjectId("59e0c3101eccf5f35262a357"),
"domain_id": null,
"modules": [
{
"name": "core",
"configurations": [
{
"name": "amqp",
"value": {