Skip to content

Instantly share code, notes, and snippets.

View Lippur's full-sized avatar

Kristo Lippur Lippur

  • Netherlands
View GitHub Profile
@Lippur
Lippur / backup.ps1
Created February 27, 2021 01:37
Backup database over SFTP
$server = "your.sftp.server.com"
$user = "yoursftpuser"
$database = "databasename"
$datetime = Get-Date -Format "yyyyMMddHHmmssffff"
$filename = "$($database)_$($datetime)"
$sqlFile = "$($filename).sql"
$tarFile = "$($filename).tar.gz"
mysqldump $database > $sqlFile
@Lippur
Lippur / bulkcredits.sql
Last active July 17, 2021 20:22
Bulk add credits in WHMCS
insert into tblcredit (clientid, admin_id, date, description, amount, relid)
select userid as clientid, 0, 'DATE', 'DESCRIPTION', creditamount as amount, 0
from (
select round(amount * 0.2, 2) as creditamount, userid, billingcycle, domainstatus
from (select userid, amount, billingcycle, domainstatus
from tblhosting
where billingcycle = 'Monthly') as monthly
union
select round(amount / 3 * 0.2, 2) as creditamount, userid, billingcycle, domainstatus
from (select userid, amount, billingcycle, domainstatus
@Lippur
Lippur / Filesystem.txt
Last active April 7, 2021 14:47
Application Architecture v1
Application
| Framework
| | Database
| | Logging
| | Bus
| | Validation
| | Configuration
| | Mail
| | Utilities
| | Scheduler
@Lippur
Lippur / UniqueRule.cs
Last active July 17, 2021 20:21
UniqueValidator - Checks if a value is unique in the database for the given entity property
using System;
using System.Linq.Expressions;
using System.Threading;
using System.Threading.Tasks;
using FluentValidation;
using FluentValidation.Validators;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.Extensions.DependencyInjection;
@Lippur
Lippur / api.ts
Created May 10, 2024 10:22
GraphQL subscriptions with SWR
import useSWRSubscription, { SWRSubscriptionOptions } from 'swr/subscription'
import { createClient } from 'graphql-ws'
export function useSubscription<TResult, TVariables extends Variables | undefined>(subscription: TypedDocumentNode<TResult, TVariables>, variables?: TVariables) {
return useSWRSubscription<TResult, any, GraphQLRequestInput<TResult, TVariables>>({
query: subscription,
variables,
} as GraphQLRequestInput<TResult, TVariables>, subscribe)
}