Skip to content

Instantly share code, notes, and snippets.

View GoodnessEzeokafor's full-sized avatar
🏠
Working from home

Ezeokafor GoodnessEzeokafor

🏠
Working from home
View GitHub Profile
@GoodnessEzeokafor
GoodnessEzeokafor / config.ts
Created December 2, 2023 11:40
Connecting to postgresql db with ssl
import { DataSource } from 'typeorm';
import { ConfigService } from '@nestjs/config';
import { config } from 'dotenv';
import models from '../../models';
config();
const configService = new ConfigService();
export default new DataSource({
type: 'postgres',
import { Webhook, MessageBuilder } from 'discord-webhook-node';
export type IDiscord = { link?: string, title?: string, author?: string, message?: string }
async sendToDiscord(payload: IDiscord) {
// send to discord
const { link, title, author, message } = payload;
try {
const hook = new Webhook(link);
const embed = await new MessageBuilder()
@GoodnessEzeokafor
GoodnessEzeokafor / main.py
Created August 7, 2023 13:27
Searching through a csv file
import pandas as pd
# Load the data from the CSV file into a DataFrame
file_path = "data.csv" # Replace with the actual path to your CSV file
df = pd.read_csv(file_path)
# Get user input for the search criteria
search_input = input("Enter the value you want to search for: ")
# Filter the DataFrame based on the search criteria
@GoodnessEzeokafor
GoodnessEzeokafor / self.decorator.ts
Created July 3, 2022 12:30 — forked from DimosthenisK/self.decorator.ts
NestJS Guard + Decorator that allows user access limit to his own resources
import { SetMetadata } from '@nestjs/common';
export interface SelfDecoratorParams {
userIDParam: string;
allowAdmins?: boolean;
}
export const Self = (params: SelfDecoratorParams | string) =>
SetMetadata(
'selfParams',
@GoodnessEzeokafor
GoodnessEzeokafor / crypto-rate.ts
Created March 21, 2022 11:22
crypto rate from coingecko
import axios from "axios"
const COINGGECKO_BASE_URL:string = 'https://api.coingecko.com/api/v3'
const VS_CURRENCY: string = "usd"
const CURRENCY_IDS:string = "bitcoin,ethereum,ripple,stellar,celo"
const ORDER:string = "market_cap_desc"
const PERPAGE:number = 100
const PAGE = 1
const SPARKLINE:boolean = false
@GoodnessEzeokafor
GoodnessEzeokafor / axios.ts
Created March 11, 2022 08:27
Native Axios Implementation in Nest js
import { Injectable, Logger } from "@nestjs/common";
import axios from "axios";
import { IHttpServices } from "src/core/abstracts/http-services.abstract";
@Injectable()
export class AxiosService implements IHttpServices {
async get(url: string, config: Record<string, any>) {
try {
const response = await axios.get(url, config)
/********
* This module will help us decouple alot of functionality like
* * sending emails
* * sending sms
* * sending notification
* * tracking users activities
*
*/
import * as events from "events"
@GoodnessEzeokafor
GoodnessEzeokafor / firebaseFineOne.ts
Created February 17, 2022 09:47
Firebase find query
type FilterQuery<T> = {
[K in keyof T]?: T[K]
};
static async findOne(field: FilterQuery<ITranslation>): Promise<any> {
try {
const results = await this.builder().where(Object.keys(field)[0], "==", Object.values(field)[0]).get();
if (results.length) {
return results[0];
}
@GoodnessEzeokafor
GoodnessEzeokafor / IRepository.ts
Created January 24, 2022 10:58 — forked from Orbis25/IRepository.ts
Simple Repository Pattern in TypeScript with axios
import { AxiosResponse } from "axios";
import { AxiosConfig } from "../../api";
export interface IRead<T> {
getAll(route: string, params?: string): Promise<AxiosResponse<T[]>>;
getById(route: string, id: string): Promise<AxiosResponse<T>>;
getPaginatedList(route: string, params?: string): Promise<AxiosResponse<T[]>>;
}
export interface IWrite<T> {
@GoodnessEzeokafor
GoodnessEzeokafor / hash.cfml
Created December 8, 2021 12:12
Cold fusion examples
<cfoutput>
#hash("Password1!", "SHA-512", "UTF-8")#
</cfoutput>
# output - ECB3548B49FEFA9C984EC134FA362B3316EC8CC4C044B3A71444EED538ECC39461FE5D4DD1D71287FCD2B1C3354CC36873956B3E15229B5ACBDACDA276BABED1