Skip to content

Instantly share code, notes, and snippets.

View tridungle's full-sized avatar

Trí Dũng Lê tridungle

  • Independent
  • Ho Chi Minh
View GitHub Profile
@tridungle
tridungle / gist:738915b9415e577e6ee2961aa2072aab
Created January 15, 2021 06:09 — forked from joerx/gist:ea16b9af330e0c346155
Stubbing email sending in tests
// This is the simplest possible approach - use a custom module to wrap a single, pre-configured
// mail transport instance and then use sinon.js to stub out that modules sendmail()
// This approach has its limitations, but it is still better than having 'if(NODE_ENV === 'test')'
// all over the code base.
// -- app/sendmail.js --
var nodemailer = require('nodemailer');
var config = require('config').email;
@tridungle
tridungle / FileUpload.js
Created January 11, 2021 02:45 — forked from begueradj/FileUpload.js
AdonisJs file upload to S3
const { ServiceProvider } = require('@adonisjs/fold')
const path = require('path')
const fs = require('fs')
const Drive = use('Drive')
const Helpers = use('Helpers')
class FileUpload extends ServiceProvider {
register () { }
boot () { }
module.exports = {
authorize: {
Location: 'http://127.0.0.1:3333/admin/github/callback?scope=user&response_type=code&state=fake-uid&client_id=fake-client',
},
};
@tridungle
tridungle / hooks.js
Created December 22, 2020 10:51 — forked from HigoRibeiro/hooks.js
Adonis sanitization
const { hooks } = require('@adonisjs/ignitor');
hooks.after.providersBooted(() => {
const Validator = use('Validator');
function normalizeCpf(cpf) {
return cpf
}
Validator.sanitizor.cpf = (val) => {
@tridungle
tridungle / Validator.js
Created December 22, 2020 10:51 — forked from HigoRibeiro/Validator.js
Validação condicional
class Store {
get validateAll () {
return true
}
get rules () {
return {
...(this.ctx.request.input('name') ? { name : 'required' } : null),
email: 'required|email|unique:users',
}
@tridungle
tridungle / github.spec.js
Created December 22, 2020 10:50 — forked from HigoRibeiro/github.spec.js
My functional test
const {
test, trait, beforeEach, afterEach,
} = use('Test/Suite')('Admin/Session Github');
const nock = require('nock');
const User = use('App/Models/User');
const responses = require('./utils/responses');
const headers = require('./utils/headers');
@tridungle
tridungle / index.html
Created December 18, 2020 10:16
Particles write text
<div class="title">
<h3>A N O T H E R <strong>C O D E P E N</strong></h3>
</div>
<div class="more-pens">
<a target="_blank" href="https://codepen.io/plasm/" class="white-mode">VIEW OTHER PENS</a>
<a target="_blank" href="https://codepen.io/collection/nZpPbz/" class="white-mode">VIEW OTHER PARTICLES</a>
</div>
@tridungle
tridungle / attractor-matterjs.markdown
Created December 18, 2020 10:08
Attractor - MatterJS
@tridungle
tridungle / index.html
Created December 18, 2020 10:01
Timeline Scroll
<ul class="timeline">
<li class="bar"></li>
</ul>
<div class="container">
<section data-name="Home">
<h1>Home</h1>
<h2>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptate porro odit esse ut quidem deleniti dolore doloremque aliquam neque ad at optio odio quasi aperiam necessitatibus reiciendis, quaerat quod autem.</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima exercitationem earum beatae assumenda debitis quibusdam, ducimus autem a ab nisi, praesentium et enim numquam consequatur similique quis consectetur consequuntur iure!
</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima exercitationem earum beatae assumenda debitis quibusdam, ducimus autem a ab nisi, praesentium et enim numquam consequatur similique quis consectetur consequuntur iure!
// Adonis.js Dependencies
import { ApplicationContract } from "@ioc:Adonis/Core/Application";
import { BaseCommand, Kernel } from "@adonisjs/ace";
import { Ioc } from "@adonisjs/fold";
import Database from "@ioc:Adonis/Lucid/Database";
// External Dependencies
import _ from "lodash";
import prettyHrTime from "pretty-hrtime";
import requireAll from "require-all";