reformat with new prettier config

main
TZGyn 3 years ago
parent f3ab66d31f
commit 78bb54368f

@ -7,4 +7,4 @@ export default defineAppConfig({
loading: 'svg-spinners:90-ring-with-bg', loading: 'svg-spinners:90-ring-with-bg',
}, },
}, },
}); })

@ -41,4 +41,4 @@ export default defineNuxtConfig({
key: process.env.SUPABASE_KEY, key: process.env.SUPABASE_KEY,
serviceKey: process.env.SUPABASE_SERVICE_KEY, serviceKey: process.env.SUPABASE_SERVICE_KEY,
}, },
}); })

@ -8,21 +8,21 @@
<script setup lang="ts"> <script setup lang="ts">
definePageMeta({ definePageMeta({
middleware: ['auth'], middleware: ['auth'],
}); })
const router = useRouter(); const router = useRouter()
const user = useSupabaseUser(); const user = useSupabaseUser()
watch( watch(
() => user.value, () => user.value,
() => { () => {
if (user.value) { if (user.value) {
router.push('/notes'); router.push('/notes')
} }
} }
); )
onMounted(() => { onMounted(() => {
navigateTo('/notes'); navigateTo('/notes')
}); })
</script> </script>

@ -46,43 +46,43 @@
<script setup lang="ts"> <script setup lang="ts">
definePageMeta({ definePageMeta({
middleware: ['auth'], middleware: ['auth'],
}); })
interface Credential { interface Credential {
email: string; email: string
password: string; password: string
} }
type Mode = 'login' | 'signup'; type Mode = 'login' | 'signup'
const credential: Credential = reactive({ const credential: Credential = reactive({
email: '', email: '',
password: '', password: '',
}); })
const router = useRouter(); const router = useRouter()
const supabase = useSupabaseAuthClient(); const supabase = useSupabaseAuthClient()
const user = useSupabaseUser(); const user = useSupabaseUser()
const mode = ref<Mode>('login'); const mode = ref<Mode>('login')
watch( watch(
() => user.value, () => user.value,
() => { () => {
if (user.value) { if (user.value) {
router.push('/notes'); router.push('/notes')
} }
} }
); )
const signUp = async (event: Event) => { const signUp = async (event: Event) => {
const error = userSignUp(credential.email, credential.password); const error = userSignUp(credential.email, credential.password)
console.log('error', error); console.log('error', error)
}; }
const signIn = async (event: Event) => { const signIn = async (event: Event) => {
const error = userSignIn(credential.email, credential.password); const error = userSignIn(credential.email, credential.password)
console.log('error', error); console.log('error', error)
}; }
</script> </script>

@ -38,17 +38,17 @@
<script setup lang="ts"> <script setup lang="ts">
definePageMeta({ definePageMeta({
middleware: ['auth'], middleware: ['auth'],
}); })
const note = reactive<Note>({ const note = reactive<Note>({
title: '', title: '',
description: '', description: '',
}); })
const route = useRoute(); const route = useRoute()
const router = useRouter(); const router = useRouter()
const isLoading = ref<Boolean>(false); const isLoading = ref<Boolean>(false)
const isSubmitting = ref<Boolean>(false); const isSubmitting = ref<Boolean>(false)
const isDeleting = ref<Boolean>(false); const isDeleting = ref<Boolean>(false)
const { refresh } = await useFetch('/api/note', { const { refresh } = await useFetch('/api/note', {
method: 'GET', method: 'GET',
@ -56,41 +56,41 @@
id: route.params.id, id: route.params.id,
}, },
onResponse({ response }) { onResponse({ response }) {
console.log('Response: ', response); console.log('Response: ', response)
if (response.status === 500) { if (response.status === 500) {
console.log(`Error: ${response._data.message}`); console.log(`Error: ${response._data.message}`)
router.push('/notes'); router.push('/notes')
return; return
} }
note.title = response._data.note.title; note.title = response._data.note.title
note.description = response._data.note.description; note.description = response._data.note.description
}, },
}); })
const submit = async (note: Note) => { const submit = async (note: Note) => {
isSubmitting.value = true; isSubmitting.value = true
await submitNote(note, { id: route.params.id }); await submitNote(note, { id: route.params.id })
isSubmitting.value = false; isSubmitting.value = false
}; }
const deleteNote = async () => { const deleteNote = async () => {
isDeleting.value = true; isDeleting.value = true
await useFetch('/api/note', { await useFetch('/api/note', {
method: 'DELETE', method: 'DELETE',
query: { query: {
id: route.params.id, id: route.params.id,
}, },
onResponse({ response }) { onResponse({ response }) {
isDeleting.value = false; isDeleting.value = false
console.log('DELETE:', response._data.message); console.log('DELETE:', response._data.message)
router.push('/notes'); router.push('/notes')
}, },
}); })
}; }
onMounted(() => { onMounted(() => {
isLoading.value = true; isLoading.value = true
refresh(); refresh()
isLoading.value = false; isLoading.value = false
}); })
</script> </script>

@ -41,26 +41,26 @@
<script setup lang="ts"> <script setup lang="ts">
definePageMeta({ definePageMeta({
middleware: ['auth'], middleware: ['auth'],
}); })
const router = useRouter(); const router = useRouter()
const supabase = useSupabaseAuthClient(); const supabase = useSupabaseAuthClient()
const isCreating = ref<boolean>(false); const isCreating = ref<boolean>(false)
const { data: data, refresh } = await useFetch('/api/notes'); const { data: data, refresh } = await useFetch('/api/notes')
const create = async () => { const create = async () => {
isCreating.value = true; isCreating.value = true
await useFetch('/api/note/new', { await useFetch('/api/note/new', {
onResponse({ response }) { onResponse({ response }) {
console.log(response._data.message); console.log(response._data.message)
isCreating.value = false; isCreating.value = false
router.push(`/notes/${response._data.note.uuid}`); router.push(`/notes/${response._data.note.uuid}`)
}, },
}); })
}; }
onMounted(() => { onMounted(() => {
refresh(); refresh()
}); })
</script> </script>

@ -33,21 +33,21 @@
<script setup lang="ts"> <script setup lang="ts">
definePageMeta({ definePageMeta({
middleware: ['auth'], middleware: ['auth'],
}); })
interface DashboardData { interface DashboardData {
noteCount: { noteCount: {
title: string; title: string
description: string; description: string
data: number; data: number
mode: 'horizontal' | 'vertical'; mode: 'horizontal' | 'vertical'
icon: string; icon: string
}; }
} }
const router = useRouter(); const router = useRouter()
const user = useSupabaseUser(); const user = useSupabaseUser()
const isLoading = ref<boolean>(true); const isLoading = ref<boolean>(true)
const dashboardData: DashboardData = reactive({ const dashboardData: DashboardData = reactive({
user: { user: {
@ -64,17 +64,17 @@
mode: 'horizontal', mode: 'horizontal',
icon: 'fa6-solid:note-sticky', icon: 'fa6-solid:note-sticky',
}, },
}); })
const { refresh } = await useFetch('/api/profile', { const { refresh } = await useFetch('/api/profile', {
onResponse({ response }) { onResponse({ response }) {
dashboardData.noteCount.data = response._data.count; dashboardData.noteCount.data = response._data.count
}, },
}); })
onMounted(() => { onMounted(() => {
isLoading.value = true; isLoading.value = true
refresh(); refresh()
isLoading.value = false; isLoading.value = false
}); })
</script> </script>

@ -1,5 +1,5 @@
import { autoAnimatePlugin } from '@formkit/auto-animate/vue'; import { autoAnimatePlugin } from '@formkit/auto-animate/vue'
export default defineNuxtPlugin((nuxtApp) => { export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.use(autoAnimatePlugin); nuxtApp.vueApp.use(autoAnimatePlugin)
}); })

@ -1,3 +1,3 @@
export default defineEventHandler(() => { export default defineEventHandler(() => {
return `Invalid api routes`; return `Invalid api routes`
}); })

@ -1,25 +1,25 @@
import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'; import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'
import { Database } from 'types/database.types'; import { Database } from 'types/database.types'
export default defineEventHandler(async (event): Promise<DeleteResponse> => { export default defineEventHandler(async (event): Promise<DeleteResponse> => {
const user = await serverSupabaseUser(event); const user = await serverSupabaseUser(event)
const supabase = serverSupabaseClient<Database>(event); const supabase = serverSupabaseClient<Database>(event)
const query = getQuery(event); const query = getQuery(event)
if (!user) { if (!user) {
throw createError({ statusCode: 401, message: 'Unauthorized' }); throw createError({ statusCode: 401, message: 'Unauthorized' })
} }
const { data: data, error } = await supabase const { data: data, error } = await supabase
.from('notes') .from('notes')
.delete() .delete()
.eq('uuid', query.id) .eq('uuid', query.id)
.eq('user_id', user.id); .eq('user_id', user.id)
return { return {
status: 200, status: 200,
data: data, data: data,
message: 'Note Deleted', message: 'Note Deleted',
error: error, error: error,
}; }
}); })

@ -1,13 +1,13 @@
import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'; import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'
import { Database } from 'types/database.types'; import { Database } from 'types/database.types'
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
const user = await serverSupabaseUser(event); const user = await serverSupabaseUser(event)
const supabase = serverSupabaseClient<Database>(event); const supabase = serverSupabaseClient<Database>(event)
const query = getQuery(event); const query = getQuery(event)
if (!user) { if (!user) {
throw createError({ statusCode: 401, message: 'Unauthorized' }); throw createError({ statusCode: 401, message: 'Unauthorized' })
} }
const { data: note, error } = await supabase const { data: note, error } = await supabase
@ -16,11 +16,11 @@ export default defineEventHandler(async (event) => {
.eq('uuid', query.id) .eq('uuid', query.id)
.eq('user_id', user.id) .eq('user_id', user.id)
.limit(1) .limit(1)
.single(); .single()
if (!note) { if (!note) {
throw createError({ statusCode: 500, message: 'No note found' }); throw createError({ statusCode: 500, message: 'No note found' })
} }
return { note: note, error: error }; return { note: note, error: error }
}); })

@ -1,23 +1,23 @@
import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'; import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'
import { Database } from 'types/database.types'; import { Database } from 'types/database.types'
export default defineEventHandler(async (event): Promise<ApiResponse> => { export default defineEventHandler(async (event): Promise<ApiResponse> => {
const user = await serverSupabaseUser(event); const user = await serverSupabaseUser(event)
const supabase = serverSupabaseClient<Database>(event); const supabase = serverSupabaseClient<Database>(event)
const query = getQuery(event); const query = getQuery(event)
const body = await readBody(event); const body = await readBody(event)
const title: string = body.title; const title: string = body.title
const description: string = body.description; const description: string = body.description
if (!user) { if (!user) {
throw createError({ statusCode: 401, message: 'Unauthorized' }); throw createError({ statusCode: 401, message: 'Unauthorized' })
} }
const { data: note, error } = await supabase const { data: note, error } = await supabase
.from('notes') .from('notes')
.update({ title: title, description: description }) .update({ title: title, description: description })
.eq('uuid', query.id); .eq('uuid', query.id)
return { status: 200, message: 'Note Updated', error: error }; return { status: 200, message: 'Note Updated', error: error }
}); })

@ -1,17 +1,17 @@
import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'; import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'
import { Database } from 'types/database.types'; import { Database } from 'types/database.types'
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
const user = await serverSupabaseUser(event); const user = await serverSupabaseUser(event)
const supabase = serverSupabaseClient<Database>(event); const supabase = serverSupabaseClient<Database>(event)
if (!user) { if (!user) {
throw createError({ statusCode: 401, message: 'Unauthorized' }); throw createError({ statusCode: 401, message: 'Unauthorized' })
} }
const { data: status, error: insertError } = await supabase const { data: status, error: insertError } = await supabase
.from('notes') .from('notes')
.insert({ title: '', description: '', user_id: user.id }); .insert({ title: '', description: '', user_id: user.id })
const { data: note, error: fetchError } = await supabase const { data: note, error: fetchError } = await supabase
.from('notes') .from('notes')
@ -19,7 +19,7 @@ export default defineEventHandler(async (event) => {
.eq('user_id', user.id) .eq('user_id', user.id)
.order('created_at', { ascending: false }) .order('created_at', { ascending: false })
.limit(1) .limit(1)
.single(); .single()
return { return {
statusCode: 200, statusCode: 200,
@ -27,5 +27,5 @@ export default defineEventHandler(async (event) => {
message: 'Note Created', message: 'Note Created',
insertError: insertError, insertError: insertError,
fetchError: fetchError, fetchError: fetchError,
}; }
}); })

@ -1,18 +1,18 @@
import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'; import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'
import { Database } from 'types/database.types'; import { Database } from 'types/database.types'
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
const user = await serverSupabaseUser(event); const user = await serverSupabaseUser(event)
const supabase = serverSupabaseClient<Database>(event); const supabase = serverSupabaseClient<Database>(event)
if (!user) { if (!user) {
throw createError({ statusCode: 401, message: 'Unauthorized' }); throw createError({ statusCode: 401, message: 'Unauthorized' })
} }
const { data: notes, error } = await supabase const { data: notes, error } = await supabase
.from('notes') .from('notes')
.select('*') .select('*')
.eq('user_id', user.id); .eq('user_id', user.id)
return { notes: notes, error: error }; return { notes: notes, error: error }
}); })

@ -1,18 +1,18 @@
import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'; import { serverSupabaseUser, serverSupabaseClient } from '#supabase/server'
import { Database } from 'types/database.types'; import { Database } from 'types/database.types'
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
const user = await serverSupabaseUser(event); const user = await serverSupabaseUser(event)
const supabase = serverSupabaseClient<Database>(event); const supabase = serverSupabaseClient<Database>(event)
if (!user) { if (!user) {
throw createError({ statusCode: 401, message: 'Unauthorized' }); throw createError({ statusCode: 401, message: 'Unauthorized' })
} }
const { count, error } = await supabase const { count, error } = await supabase
.from('notes') .from('notes')
.select('*', { count: 'exact', head: true }) .select('*', { count: 'exact', head: true })
.eq('user_id', user.id); .eq('user_id', user.id)
return { count: count, message: 'Profile', error: error }; return { count: count, message: 'Profile', error: error }
}); })

@ -3,19 +3,19 @@ export interface Database {
Tables: { Tables: {
notes: { notes: {
Row: { Row: {
id: number; id: number
uuid: string; uuid: string
title: string; title: string
description: string; description: string
user_id: string; user_id: string
created_at: string; created_at: string
}; // The data expected to be returned from a "select" statement. } // The data expected to be returned from a "select" statement.
Insert: {}; // The data expected passed to an "insert" statement. Insert: {} // The data expected passed to an "insert" statement.
Update: { Update: {
title: string; title: string
description: string; description: string
}; // The data expected passed to an "update" statement. } // The data expected passed to an "update" statement.
}; }
}; }
}; }
} }

18
types/global.d.ts vendored

@ -1,24 +1,24 @@
import { PostgrestError } from '@supabase/postgrest-js'; import { PostgrestError } from '@supabase/postgrest-js'
export {}; export {}
declare global { declare global {
interface Note { interface Note {
title: string; title: string
description: string; description: string
} }
interface NoteQuery { interface NoteQuery {
id: number | string | string[]; id: number | string | string[]
} }
interface ApiResponse { interface ApiResponse {
status: number; status: number
message: string; message: string
error: PostgrestError | null; error: PostgrestError | null
} }
interface DeleteResponse extends ApiResponse { interface DeleteResponse extends ApiResponse {
data: undefined[] | null; data: undefined[] | null
} }
} }

Loading…
Cancel
Save