Skip to content

Instantly share code, notes, and snippets.

View Shahinyanm's full-sized avatar

Mher Shahinyan Shahinyanm

View GitHub Profile
@Shahinyanm
Shahinyanm / AuthLogin.vue
Created October 23, 2022 16:22
Auth Login Page
<template>
<auth-container v-if="!auth.profile">
<router-view />
</auth-container>
</template>
<script lang="ts" setup>
import { useAuthStore } from "@/lib/store/auth";
import { computed, onBeforeMount, provide, ref } from "vue";
import { useRouter } from "vue-router";
@Shahinyanm
Shahinyanm / AbstractGrant.php
Last active April 14, 2026 14:47
AuthProfile Module
<?php
namespace Modules\OAuth\Grants;
use DateInterval;
use Ramsey\Uuid\Uuid;
use Modules\OAuth\Utils\RequestMeta;
use League\OAuth2\Server\RequestEvent;
use Modules\OAuth\Dto\OAuthVerifyOtpDto;
use Modules\OAuth\Services\OAuthService;
@Shahinyanm
Shahinyanm / Vue
Created March 17, 2023 19:30
CodeRefactor
1. When do we need to use key attribute and what for?
```In Vue, the key attribute is used to help Vue efficiently update the DOM when it re-renders a component. It is used to hint to Vue which components or elements have changed, been added, or been removed, so that Vue can apply the appropriate updates without needing to re-render everything.
Here are some scenarios when you might want to use the key attribute in Vue:
When rendering lists: When you use v-for to render a list of items, Vue needs to track which item is which. If the order or contents of the list can change, you should use the key attribute to give each item a unique identifier. This helps Vue determine which items have changed, and update only those items in the DOM.
When conditionally rendering elements: When using v-if or v-show to conditionally render elements, you may need to use the key attribute to avoid reusing the same element across multiple conditions. This can prevent unexpected behavior or rendering issues.
When reusing compon
@Shahinyanm
Shahinyanm / UpdateCurrencies.php
Created April 19, 2023 11:11
Command to fetch and update currencies
<?php
namespace App\Console\Commands;
use App\Models\Currency;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Http;
/**
*
<template>
<div class="bg-gradient-to-r from-theme-1 to-theme-43 min-h-screen">
<nav-bar :key="$router.currentRoute.value.path"></nav-bar>
<div class="w-full h-full flex justify-between">
<router-view v-slot="{ Component }" class="w-full h-full 2xl:px-0">
<transition mode="out-in" name="scale-slide">
<component :is="Component" />
</transition>
</router-view>
</div>
4. Task - Collection
use Illuminate\Support\Collection;
$employees = collect([
['name' => 'John', 'city' => 'Dallas'],
['name' => 'Jane', 'city' => 'Austin'],
['name' => 'Jake', 'city' => 'Dallas'],
['name' => 'Jill', 'city' => 'Dallas'],
]);
curl 'https://stats.12go.local/finapi/bank-account/validate/315742' \
-H 'accept: */*' \
-H 'accept-language: en-US,en;q=0.9' \
-H 'content-type: application/json' \
-b 'support3=38dd7ac51c55e7508397aa1e3b1e02dd; _gcl_au=1.1.1830076229.1760940165; WZRK_G=c790c83acd0d4f9e90c0c45e5f12ed62; STATSPHPSESSID=va9n3p4oiih5f61gk9nlrdu67c; z=5; _ga=GA1.2.1756674791.1761284037; _ga_DCR7TYGEGG=GS2.2.s1761284038$o1$g0$t1761284038$j60$l0$h0; _ga_TRWTC29Z0Y=GS2.2.s1761284038$o1$g1$t1761284038$j60$l0$h0' \
-H 'origin: https://stats.12go.local' \
-H 'priority: u=1, i' \
-H 'referer: https://stats.12go.local/?mode=agent.payment' \
-H 'sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"' \
-H 'sec-ch-ua-mobile: ?0' \