Skip to content

Instantly share code, notes, and snippets.

@hemanandr
hemanandr / Migration.cs
Created January 18, 2024 02:50
Multi Tenancy Blog - Migration
using FluentMigrator;
namespace ThingPlatform.Migrations;
[Migration(20230912)]
public class DataSourceMigration : Migration
{
public override void Down()
{
Delete.Table("books");
@hemanandr
hemanandr / TenantService.cs
Created January 18, 2024 02:41
Multi Tenancy Blog - Tenant Service
namespace ThingPlatform.Services;
public class TenantService
{
private readonly IHttpContextAccessor _httpContext;
public TenantService(IHttpContextAccessor httpContext) =>
_httpContext = httpContext;
public Guid GetTenant()
@hemanandr
hemanandr / Entity.cs
Last active January 18, 2024 02:41
Multi Tenancy Blog - Entity
using System.Text.Json.Serialization;
namespace ThingPlatform.Models;
public abstract class Entity
{
public virtual Guid Id { get; set; }
[JsonIgnore]
public virtual Guid TenantId { get; set; }
}
@hemanandr
hemanandr / react-query-utils.tsx
Created December 15, 2023 05:16
React Query Utils
import { useQuery, useQueryClient, useMutation } from "@tanstack/react-query";
import axios from "axios";
export const useEntities = <T extends { id: string }>(
key: string,
url: string
) => {
const entities = useQuery<T[], Error>(
[key],
async ({ signal }): Promise<T[]> => {
@hemanandr
hemanandr / simple_router.ts
Last active December 8, 2018 04:01
ReactRouter
import * as React from 'react';
import { Redirect, Route, Switch } from 'react-router';
import Layout from './Layout';
import Home from './Home';
import Admin from './Admin';
class App extends React.Component {
public render() {
return (
<Layout>