adonis-recaptcha2
Version:
Google reCAPTCHA v2 for AdonisJS
37 lines (36 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class RecaptchaProvider {
constructor(app) {
this.app = app;
}
register() {
this.app.container.singleton('Adonis/Addons/Recaptcha2', () => {
const config = this.app.container
.resolveBinding('Adonis/Core/Config')
.get('recaptcha', {});
return new (require('recaptcha2'))(config);
});
}
async boot() {
const config = this.app.container
.resolveBinding('Adonis/Core/Config')
.get('recaptcha', {});
if (!config.views) {
return;
}
try {
const View = this.app.container.resolveBinding('Adonis/Core/View');
View.global('recaptcha', function (type = 'script') {
return this.safe((type !== 'script')
? `<div class="g-recaptcha" data-sitekey="${config.siteKey}"></div>`
: '<script src="//www.google.com/recaptcha/api.js" async defer></script>');
});
}
catch (e) {
console.warn(e);
}
}
}
exports.default = RecaptchaProvider;
RecaptchaProvider.needApplication = true;