Skip to content

Instantly share code, notes, and snippets.

View GergKllai1's full-sized avatar
🥷

Gergö Kallai GergKllai1

🥷
  • Gothenburg, Sweden
View GitHub Profile
private static string CreateAuthHeader()
{
var dateToSign = DateTime.UtcNow.ToString("ddd, dd MMM yyyy HH':'mm':'ss 'GMT'", new CultureInfo("en-US"));
var stringToSign = $"{dateToSign}\n/{STORAGE_ACCOUNT_NAME}/{TABLE_NAME}";
string signature;
using (var hmacSha256 = new HMACSHA256(Convert.FromBase64String(STORAGE_ACCOUNT_KEY)))
{
var dataToHmac = Encoding.UTF8.GetBytes(stringToSign);
signature = Convert.ToBase64String(hmacSha256.ComputeHash(dataToHmac));
}
@GergKllai1
GergKllai1 / Header.js
Created October 30, 2019 19:47
Refactored using CustomLink component
import React from "react";
import CustomLink from "./CustomLink";
export const Header = () => {
return (
<>
<CustomLink condition="signedIn" to="/logout">
Logout
</CustomLink>
<CustomLink condition="signedOut" to="/login">
@GergKllai1
GergKllai1 / CustomLink.js
Last active October 30, 2019 20:28
Custom link component for restricting react-router-links
import React from "react";
import { connect } from "react-red";
import { Link } from "react-router-dom";
export const Header = ({ user }) => {
return (
<>
{user.isSignedIn ? (
<Link to="/logout">Logout</Link>
) : (
@GergKllai1
GergKllai1 / CustomRoute.js
Created October 30, 2019 17:28
Restricting route
import React, { useEffect, useState } from "react";
import { connect } from "react-redux";
import { Redirect, Route } from "react-router-dom";
const CustomRoute = props => {
const [returnedRoute, setReturnedRoute] = useState("");
useEffect(() => {
switch (props.condition) {
case "teacher":
return setReturnedRoute(
@GergKllai1
GergKllai1 / Content.js
Last active October 30, 2019 17:23
Restricting routes with CustomRoute
import React from "react";
import { Switch } from "react-router-dom";
import CustomRoute from "./CustomRoute";
import MainIndex from "./MainIndex";
import LoginPage from "./LoginPage";
import RestrictedPage from "./RestrictedPage";
import OnlyTeacher from "./OnlyTeacher";
import OnlyStudent from "./OnlyStudent";
@GergKllai1
GergKllai1 / Content.js
Last active October 30, 2019 20:37
Restricting routes with ternary operators and Redirect
import React from "react";
import { Switch, Route, Redirect } from "react-router-dom";
import { connect } from "react-redux";
import MainIndex from "./MainIndex";
import LoginPage from "./LoginPage";
import RestrictedPage from "./RestrictedPage";
import OnlyTeacher from "./OnlyTeacher";
import OnlyStudent from "./OnlyStudent";
@GergKllai1
GergKllai1 / Content.js
Last active October 30, 2019 19:50
Restricting routes with ternary operators
import React from "react";
import { Switch, Route } from "react-router-dom";
import { connect } from "react-redux";
import MainIndex from "./MainIndex";
import LoginPage from "./LoginPage";
import RestrictedPage from "./RestrictedPage";
import OnlyTeacher from "./OnlyTeacher";
import OnlyStudent from "./OnlyStudent";
export const passwordConfirmationRule = value => {
let password = document.getElementById("password");
return value === password.value
? false
: "Password confirmation must match password.";
};
export const emailRule = value => {
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value) ? false : "Not a valid email.";
};
@GergKllai1
GergKllai1 / FlashMessage.test.js
Created October 2, 2019 14:01
An example of testing setTimeOut and useState hook rerender
import React from "react";
import { mount } from "enzyme";
import FlashMessage from "./FlashMessage";
import { act } from "react-dom/test-utils";
describe("FlashMessage", () => {
let container, messageMock;
beforeEach(() => {
jest.useFakeTimers();
messageMock = "Test message";