Skip to content

Instantly share code, notes, and snippets.

View mkozhukharenko's full-sized avatar

Nikolay mkozhukharenko

View GitHub Profile
import { observable } from 'mobx'
import GenericFormStore from './../common/generic-form.store'
export default class LoginStore extends GenericFormStore {
@observable
form = {/* form model */}
}
app.post('/',function (req, res, next) {
var body = req.body;
if (!body.name || !body.email || !body.password) {
return res.status(400).send("Missing username or email or password")
};
// case #1- if user was registered (socials platform) before -> just add a password;
User.findOneAndUpdate({
email: body.email
}, {
$set: {password: body.password}
User.findOneAndUpdate({}, (err, user) => {
if (err) { // !!!!!
return res.status(500).send(err)
}
// everething is ok, do smth
});
var co = require('co')
app.post('/',function (req, res, next) {
var body = req.body;
if (!body.name || !body.email || !body.password) {
return res.status(400).send("Missing a username or email or password")
};
co(function *(){
@mkozhukharenko
mkozhukharenko / form-input.componen.jsx
Last active March 15, 2017 11:48
Form input component
import React, { PropTypes } from 'react';
import classNames from 'classnames'
let getFormInputClasses = ({valid, error}) => classNames('form-input', {
'form-input--error': !!error,
})
let FormInput = (props) => (
<span className={getFormInputClasses(props)}>
<input {...props}
import {action, toJS} from 'mobx'
import Validator from 'validatorjs';
class FormStore {
getFlattenedValues = (valueKey = 'value') => {
let data = {};
let form = toJS(this.form).fields;
Object.keys(form).map(key => {
data[key] = form[key][valueKey]
});
@mkozhukharenko
mkozhukharenko / basic-express.js
Created April 8, 2017 18:58
Real compose function implementation (composing middlewares)
var app = {
middlewares: [],
use(fn) {
this.middlewares.push(fn)
},
compose(middleware) {
return function (next) {
return dispatch(0)
function dispatch(i) {
let fn = middleware[i]
@mkozhukharenko
mkozhukharenko / express-auth-promises2.js
Last active April 11, 2017 12:36
Expressks auth with promise .js
app.post('/', function (req, res, next) {
var body = req.body;
if (!body.name || !body.email || !body.password) {
return res.status(400).send("Missing username or email or password")
};
// case #1- if user was registered (socials platform) before -> just add a password;
User.findOneAndUpdate({
email: body.email
}, {
$set: { password: body.password }
let compose = (middlewares) => {
return function () {
return dispatch(0)
function dispatch(i) {
let fn = middlewares[i]
if (!fn) {
return
}
fn(function next() {
return dispatch(i + 1)
@mkozhukharenko
mkozhukharenko / bing-api.js
Created July 26, 2017 18:50
Bing API search javascript
let request = async (query: string): Promise<any[]> => {
const myHeaders = new Headers()
myHeaders.append('Ocp-Apim-Subscription-Key', 'b5deb0d4be5a4dcaaa478f7b343baa3d')
const params = {
q: query,
safeSearch: 'Strict',
license: 'Public'
}
const urlParams = new URLSearchParams((Object as any).entries(params)) // entries works in Chrome
const url = 'https://api.cognitive.microsoft.com/bing/v5.0/images/search?' + urlParams.toString()