Skip to content

Instantly share code, notes, and snippets.

import { Sequelize } from 'sequelize';
import { ConfigurationManager } from '../config';
export class DbConnector {
private static connectorInstance: DbConnector;
private readonly connection: Sequelize;
/**
* Returns an instance of DBConnector, which might or might not have been synced with the DB.
* It is currently the user"s prerogative to connect to the database.
@e06widu
e06widu / local.settings.json
Created July 14, 2020 02:22
Local settings file
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"DB_NAME": "dev-test",
"DB_USER": "sa",
"DB_PWD": "abc123",
"DB_HOST": "xxxxxxxxx"
},
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"DB_NAME": "dev-test",
"DB_USER": "sa",
"DB_PWD": "abc123",
"DB_HOST": "xxxxxxxxx"
},
/**
* This interface defines all possible configuration variables for the application
*/
export interface Configuration {
dbConfiguration: DatabaseConfiguration;
}
interface DatabaseConfiguration {
username: string | undefined;
password: string | undefined;
import { Configuration } from './configuration';
/**
* Expose configuration values to the application
*/
export class ConfigurationManager {
private static manager: ConfigurationManager;
private appConfig!: Configuration;
static getSingletonInstance(): ConfigurationManager {
@e06widu
e06widu / User-index-updated.ts
Created June 29, 2020 17:53
Processed result using created functions
import { AzureFunction, Context, HttpRequest } from '@azure/functions';
import * as Joi from '@hapi/joi';
import { ProcessorResponse } from '../utils';
const httpTrigger: AzureFunction = async (context: Context, req: HttpRequest): Promise<void> => {
context.log('HTTP trigger function processed a request.');
const userSchema = Joi.object({
FirstName: Joi.string().alphanum().max(20).required(),
LastName: Joi.string().alphanum().min(1).max(20),
@e06widu
e06widu / processor-response.ts
Created June 29, 2020 17:49
Process result from API
/**
* Process responce before send
*/
export class ProcessorResponse<T> {
statusCode!: number ;
body!: T;
headers!: { [key: string]: string };
/**
* Process valis responce
* @param body Success responce body
@e06widu
e06widu / index.js
Last active June 29, 2020 14:14
Azure function Create user POST body validation
import { AzureFunction, Context, HttpRequest } from '@azure/functions';
import * as Joi from '@hapi/joi';
const httpTrigger: AzureFunction = async (context: Context, req: HttpRequest): Promise<void> => {
context.log('HTTP trigger function processed a request.');
const userSchema = Joi.object({
FirstName: Joi.string().alphanum().max(20).required(),
LastName: Joi.string().alphanum().min(1).max(20),
BirthYear: Joi.number().integer().min(1900).max(2013)
@e06widu
e06widu / tslint.json
Created June 29, 2020 13:54
Tslint file
{
"extends": [
"backend-tslint-rules"
],
"rules": {
"max-line-length": [
true,
180
],
"no-default-import": false,
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// Include dependancy of the main model form
jimport('joomla.application.component.modelform');
// import Joomla modelitem library
jimport('joomla.application.component.modelitem');
// Include dependancy of the dispatcher