Skip to content

Instantly share code, notes, and snippets.

View sht5's full-sized avatar

Shahar Taite sht5

  • 3DSignals
View GitHub Profile
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
using softwareBlogREST.Models;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.Cors;
@sht5
sht5 / gist:71dba08455f228a1d204
Created August 3, 2015 15:47
MongoDB static class for DB
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace softwareBlogREST.Controllers
{
public static class MongoDatabase
{
@sht5
sht5 / new_promise.js
Created April 30, 2017 20:49
new promise wrapping example
const methodReturningPromise = () => {
return new Promise((resolve, reject) => {
asyncMethodToFetchData(params, (err,result) => {
if(err){
reject(err); // return rejected promise to method caller
};
else{
resolve(result); // return fulfilled promise to method caller
}
});
/**
* Created by shahartaite on 20/11/2016.
*/
import React, {Component} from 'react';
import styles from './time_selection_button_bar.css';
import {Translate} from 'react-redux-i18n';
import CustomTimeButton from 'js/components/custom_time_button/custom_time_button';
import consts from 'js/consts';
import classNames from 'classnames';
/**
* Created by shahartaite on 23/11/2016.
*/
import consts from 'js/consts';
export const allLeftNavSelectedFiltersSelector = (state) => state[consts.TOP_LEVEL_STATE_REDUCERS.FILTERING_THING_CAPABILITIES_REDUCER].get(consts.STATE_INNER_OBJECT_NAMES.LEFT_NAV_SELECTED_FILTER_PATHS).toJS();
export const selectedSearchBarTermSelector = (state) => {
return state[consts.TOP_LEVEL_STATE_REDUCERS.FILTERING_THING_CAPABILITIES_REDUCER].get(consts.STATE_INNER_OBJECT_NAMES.SEARCH_BAR_TERM).toJS();
}
export const graphStartTimeSelector = (state) => state[consts.TOP_LEVEL_STATE_REDUCERS.FILTERING_THING_CAPABILITIES_REDUCER].get(consts.STATE_INNER_OBJECT_NAMES.SELECTED_START_TIME_FOR_GRAPHS);
@sht5
sht5 / logger.js
Created June 28, 2017 17:52
winston-logzio integration with winston in nodejs
/**
* Created by shahartaite on 12/09/2016.
*/
const winston = require('winston');
const logzioWinstonTransport = require('winston-logzio');
const loggerOptions = {
token: 'YOUR_TOKEN',
host: 'listener.logz.io',
type: 'nodejs' // if you integrate any other services with logz.io such
// as your clientside logs you can differentiate using this property
@sht5
sht5 / utils.js
Last active June 28, 2017 18:35
logging utility functions
const config = require('config'); // library for code configuration setups
const logHttpRequestError = (request, errorObj) => {
const logObj = {
server_type : config.get('server_type'), // we take the server type from configuration
//in order to know which server created the log
//such as production\staging etc
message : errorObj.message,
stack : errorObj.stack,
url : request.url,
@sht5
sht5 / users_routes.js
Created June 28, 2017 18:47
example of ExpressJS endpoint logging an http error
app.post('/user/defaultLanguage', (req, res) => {
const defaultLanguage = req.body.defaultLanguage;
const userEmail = req.user.email;
userLogic.updateUserDefaultLang(userEmail, defaultLanguage)
.then(() => {
res.end();
})
.catch((err) => {
utils.logHttpRequestError(res.req, err);
res.status(500).end();
@sht5
sht5 / gist:229aea45a4f146e86244171e4b54c924
Last active March 5, 2018 09:47
repetitive async actions
const requestToGetCoins = async() => {
return (dispatch) => {
dispatch(requestToGetCoinsInProgress());
try{
const users = await httpService.getCoins();
dispatch(requestToGetCoinsSuccess(users));
}
catch(e){
dispatch(requestToGetCoinsError(e));
}
export function getCoins(name,amountOfCoins){
return {
type : types.GET_COINS,
async : true,
httpMethodToInvoke : httpService.getCoins,
params : [name,amountOfCoins]
}
}