Skip to content

Instantly share code, notes, and snippets.

View eadortsu's full-sized avatar
🏠
Working from home

Eugene Adortsu eadortsu

🏠
Working from home
View GitHub Profile
@eadortsu
eadortsu / blog.vue
Created March 11, 2024 14:36
blog.vue
<script>
export default {
components: { Loading, DropZone, TiptapEditor, VueMultiselect },
data() {
return {
newPost: {
title: null,
featured: false,
@eadortsu
eadortsu / apolloConfig.ts
Last active March 11, 2024 14:28
apolloConfig.ts
// plugins/apolloConfig.ts
import { createHttpLink, from, ApolloLink } from '@apollo/client/core'
import { onError } from '@apollo/client/link/error'
import { setContext } from '@apollo/client/link/context'
import { provideApolloClient } from '@vue/apollo-composable'
import createUploadLink from "apollo-upload-client/createUploadLink.mjs";
export default defineNuxtPlugin((nuxtApp) => {
@eadortsu
eadortsu / upload.service.ts
Last active March 10, 2024 23:01
upload.service.ts
import { Injectable } from '@nestjs/common';
import { FirebaseAdmin, InjectFirebaseAdmin } from 'nestjs-firebase';
@Injectable()
export class UploadService {
constructor(
@InjectFirebaseAdmin() private readonly firebase: FirebaseAdmin,
) {}
private async streamToBuffer(readableStream): Promise<Buffer> {
return new Promise((resolve, reject) => {
@eadortsu
eadortsu / blog.entity.ts
Created March 10, 2024 22:53
Blog Scaffold
import { ObjectType, Field } from '@nestjs/graphql';
import { Column, CreateDateColumn, DeleteDateColumn, Entity, Index, OneToMany, PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm';
import { Comment } from './comment.entity';
import { Like } from './likes.entity';
import { Paginated } from '../../common/pagination';
@ObjectType()
@Entity('blogs')
export class Blog {
@Field(() => String, { description: 'Id' })
@eadortsu
eadortsu / router.js
Created November 6, 2019 15:43
Router.js
//client/router.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from './pages/Home.vue'
import Mytodos from './pages/Mytodos.vue'
import Settings from './pages/Settings.vue'
import Help from './pages/Help.vue'
@eadortsu
eadortsu / main.html
Created November 6, 2019 11:18
client/main.html
<!--client/main.html-->
<head>
<title>The Todo App</title>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
</head>
<body>
<div id="app"></div>
@eadortsu
eadortsu / App.vue
Last active November 6, 2019 11:19
client/App.vue
<!--client/App.vue-->
<template>
<v-app id="inspire">
<v-navigation-drawer
v-model="drawer"
app
clipped
>
<v-list dense>
<v-list-item link>