Skip to content

Instantly share code, notes, and snippets.

View hakimkal's full-sized avatar

Abdulhakim Haliru hakimkal

View GitHub Profile
@hakimkal
hakimkal / gist:cb7e7a3b6f7d9c792b7d673f3c0c0b40
Created September 24, 2025 22:03
ScyllaDbConfig for Springboot Project
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
import com.datastax.oss.driver.api.core.config.DefaultDriverOption;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import java.net.InetSocketAddress;
@hakimkal
hakimkal / docker-compose.yml
Created September 24, 2025 21:43
Scylladb Docker Compose file
services:
scylla:
image: scylladb/scylla:latest
container_name: scylla
restart: unless-stopped
ports:
- "9042:9042" # CQL native transport
- "9180:9180" # Alternator API (optional)
- "10000:10000" # for scylla manager (optional)
volumes:
@hakimkal
hakimkal / banks.json
Created September 18, 2023 22:21 — forked from LordGhostX/banks.json
List of Nigerian Banks and Codes
{
"9 payment service Bank": "120001",
"AB MICROFINANCE BANK": "090270",
"ABBEY MORTGAGE BANK": "070010",
"ABOVE ONLY MICROFINANCE BANK": "090260",
"ABU MICROFINANCE BANK": "090197",
"ACCESS BANK": "000014",
"ACCESSMONEY": "100013",
"ACCION MFB": "090134",
"ADDOSSER MFBB": "090160",
import {
Body,
ClassSerializerInterceptor,
Controller,
Delete,
Get,
HttpStatus,
Logger,
Param,
Post,
@hakimkal
hakimkal / auth.helper.ts
Created September 26, 2022 14:08
Auth helper with user entity.
import {
HttpException,
HttpStatus,
Injectable,
UnauthorizedException,
} from '@nestjs/common';
import { Repository } from 'typeorm';
import { User } from '@/users/entities/user.entity';
import { InjectRepository } from '@nestjs/typeorm';
import { JwtService } from '@nestjs/jwt';
@hakimkal
hakimkal / auth.guard.ts
Created September 26, 2022 14:03
authentication guard for JWT
import { ExecutionContext, Inject, Injectable } from '@nestjs/common';
import { User } from '@/users/entities/user.entity';
import { AuthGuard, IAuthGuard } from '@nestjs/passport';
import { AuthHelper } from '@/users/auth/auth.helper';
@Injectable()
export class JwtAuthGuard extends AuthGuard('jwt') implements IAuthGuard {
@Inject(AuthHelper) helper: AuthHelper;
public async canActivate(context: ExecutionContext): Promise<boolean> {
@hakimkal
hakimkal / CORSHandler.scala
Last active November 30, 2021 08:50
CORS Handler for Akka Web Module
package ng.lep.web.routes
import akka.http.scaladsl.model.HttpMethods._
import akka.http.scaladsl.model.headers.{
`Access-Control-Allow-Credentials`,
`Access-Control-Allow-Headers`,
`Access-Control-Allow-Methods`,
`Access-Control-Allow-Origin`
}
import akka.http.scaladsl.model.{ HttpResponse, StatusCodes }
@hakimkal
hakimkal / postgres.sql
Created November 6, 2021 19:58
Postgres schema sql
create database merchant_wallet_manaager_db;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
create table if not exists merchant_profile
(
id uuid not null unique primary key,
name varchar default 100,
email varchar default 100,
secret varchar default 100,
is_active boolean default false,
@hakimkal
hakimkal / Tables.scala
Last active November 6, 2021 20:00
Database schema
package com.lepltd.db
package postgres
import java.util.UUID
import akka.http.scaladsl.model.DateTime
object Tables {
case class MerchantProfile(
@hakimkal
hakimkal / PostgresDbContext.scala
Last active November 6, 2021 20:00
Postgres Db Config trait
package com.lepltd.db
package postgres
import cats.effect.IO
import com.lepltd.util.Config
import java.time.{ LocalDate, LocalDateTime, LocalTime, ZoneId }
import java.util.{ Date, UUID }
import doobie.quill.DoobieContext
import doobie.util.ExecutionContexts