fix: run linter
This commit is contained in:
@@ -43,34 +43,7 @@ func TokenIsNotExpired(access_token string) bool {
|
|||||||
func GetUserProfile(context *gin.Context) {
|
func GetUserProfile(context *gin.Context) {
|
||||||
|
|
||||||
session := sessions.Default(context)
|
session := sessions.Default(context)
|
||||||
/* access_token := session.Get("access_token")
|
|
||||||
user_profile_client := http.Client{}
|
|
||||||
|
|
||||||
user_profile_url, err := url.Parse("https://" + os.Getenv("AUTH0_DOMAIN") + os.Getenv("AUTH0_USER_INFO_ENDPOINT"))
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
log.Println("Failed to build user profile url " + err.Error())
|
|
||||||
context.Abort()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
user_profile_request, user_profile_request_error := http.NewRequest("GET", user_profile_url.String(), nil)
|
|
||||||
if user_profile_request_error != nil {
|
|
||||||
log.Println("Failed to initialize validation request", user_profile_request_error.Error())
|
|
||||||
context.AbortWithStatus(http.StatusInternalServerError)
|
|
||||||
}
|
|
||||||
|
|
||||||
user_profile_request.Header.Add("Accept", "application/json")
|
|
||||||
user_profile_request.Header.Add("Authorization", "Bearer "+access_token.(string))
|
|
||||||
|
|
||||||
user_profile_response, user_profile_response_err := user_profile_client.Do(user_profile_request)
|
|
||||||
if user_profile_response_err != nil {
|
|
||||||
log.Println("Failed to validate user")
|
|
||||||
context.AbortWithStatus(http.StatusInternalServerError)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer user_profile_response.Body.Close()
|
|
||||||
user_profile_bytes, _ := io.ReadAll(user_profile_response.Body) */
|
|
||||||
var user_profile dto.UserProfileResponse
|
var user_profile dto.UserProfileResponse
|
||||||
profile_session := session.Get("profile").(map[string]interface{})
|
profile_session := session.Get("profile").(map[string]interface{})
|
||||||
user_profile.Sub = profile_session["sub"].(string)
|
user_profile.Sub = profile_session["sub"].(string)
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ func CreatePosition(pool *pgxpool.Pool) gin.HandlerFunc {
|
|||||||
_, exec_err := conn.Exec(context.Background(), queries.CREATE_POSITION, position_name)
|
_, exec_err := conn.Exec(context.Background(), queries.CREATE_POSITION, position_name)
|
||||||
if exec_err != nil {
|
if exec_err != nil {
|
||||||
ctx.JSON(http.StatusInternalServerError, "CreatePosition(): ERROR... exec failed")
|
ctx.JSON(http.StatusInternalServerError, "CreatePosition(): ERROR... exec failed")
|
||||||
log.Println("CreatePosition(): ERROR... exec failed... %s", exec_err.Error())
|
log.Printf("CreatePosition(): ERROR... exec failed... %s", exec_err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -248,14 +248,14 @@ func SetUserPosition(pool *pgxpool.Pool) gin.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
ctx.JSON(http.StatusInternalServerError, "SetUserPosition(): ERROR... Failed to query")
|
ctx.JSON(http.StatusInternalServerError, "SetUserPosition(): ERROR... Failed to query")
|
||||||
log.Println("SetUserPosition(): ERROR... Failed to query position table... %s", query_err.Error())
|
log.Printf("SetUserPosition(): ERROR... Failed to query position table... %s", query_err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
_, exec_err := conn.Exec(context.Background(), queries.USER_SET_POSITION, position_id, user_id)
|
_, exec_err := conn.Exec(context.Background(), queries.USER_SET_POSITION, position_id, user_id)
|
||||||
if exec_err != nil {
|
if exec_err != nil {
|
||||||
ctx.JSON(http.StatusInternalServerError, "SetUserPosition(): ERROR... failed to update user object")
|
ctx.JSON(http.StatusInternalServerError, "SetUserPosition(): ERROR... failed to update user object")
|
||||||
log.Println("SetUserPosition(): ERROR... Failed to update user object... %s", exec_err.Error())
|
log.Printf("SetUserPosition(): ERROR... Failed to update user object... %s", exec_err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
import {CreateItemQuery} from '../queries/CreateItemQuery'
|
|
||||||
import {ItemPriceResponse} from '../response/ItemPriceResponse'
|
|
||||||
import {OrderItemPriceResponse} from '../response/OrderItemPriceResponse'
|
|
||||||
import {SetItemPriceQuery} from '../queries/SetItemPriceQuery'
|
|
||||||
import {GetCurrentPriceQuery} from '../queries/GetCurrentPriceQuery'
|
|
||||||
import { AddItemToOrderQuery } from '../queries/AddItemToOrderQuery'
|
import { AddItemToOrderQuery } from '../queries/AddItemToOrderQuery'
|
||||||
|
import { CreateItemQuery } from '../queries/CreateItemQuery'
|
||||||
|
import { GetCurrentPriceQuery } from '../queries/GetCurrentPriceQuery'
|
||||||
import { GetOrderItemsQuery } from '../queries/GetOrderItemsQuery'
|
import { GetOrderItemsQuery } from '../queries/GetOrderItemsQuery'
|
||||||
import {SetItemMadeRequest} from '../request/SetItemMadeRequest'
|
import { SetItemPriceQuery } from '../queries/SetItemPriceQuery'
|
||||||
import {OrderFilledResponse} from '../response/OrderFilledResponse'
|
|
||||||
import {SetItemQuantityRequest} from '../request/SetItemQuantityRequest'
|
|
||||||
import { DeleteOrderItemRequest } from '../request/DeleteOrderItemRequest'
|
import { DeleteOrderItemRequest } from '../request/DeleteOrderItemRequest'
|
||||||
|
import { SetItemMadeRequest } from '../request/SetItemMadeRequest'
|
||||||
|
import { SetItemQuantityRequest } from '../request/SetItemQuantityRequest'
|
||||||
import { ItemHistoryResponse } from '../response/ItemHistoryResponse'
|
import { ItemHistoryResponse } from '../response/ItemHistoryResponse'
|
||||||
|
import { ItemPriceResponse } from '../response/ItemPriceResponse'
|
||||||
|
import { OrderFilledResponse } from '../response/OrderFilledResponse'
|
||||||
|
import { OrderItemPriceResponse } from '../response/OrderItemPriceResponse'
|
||||||
|
|
||||||
export const CreateItem = async (query: CreateItemQuery): Promise<ItemPriceResponse> => {
|
export const CreateItem = async (query: CreateItemQuery): Promise<ItemPriceResponse> => {
|
||||||
const queryParams = new URLSearchParams({
|
const queryParams = new URLSearchParams({
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios';
|
||||||
|
|
||||||
import {OrderResponse} from '../response/OrderResponse'
|
import { OrderTableQuery } from '../request/GetOrderTableRequest';
|
||||||
import {OrderTableQuery} from '../request/GetOrderTableRequest'
|
import { OrderResponse } from '../response/OrderResponse';
|
||||||
|
|
||||||
axios.interceptors.response.use(response => {
|
axios.interceptors.response.use(response => {
|
||||||
return response;
|
return response;
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
import axios, { HttpStatusCode } from 'axios'
|
import axios from 'axios';
|
||||||
import { UserResponse } from '../response/UserResponse'
|
import { UserResponse } from '../response/UserResponse';
|
||||||
import { UserTable } from '../queries/UserTableQuery'
|
|
||||||
import { LoginRedirectResponse } from '../response'
|
|
||||||
|
|
||||||
// import { cookies } from 'next/headers'
|
// import { cookies } from 'next/headers'
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { Mutex } from "async-mutex"
|
import { Mutex } from "async-mutex"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
|
import styled from "styled-components"
|
||||||
import useAsyncEffect from "use-async-effect"
|
import useAsyncEffect from "use-async-effect"
|
||||||
import { GetItemHistory } from "../client/controllers"
|
import { GetItemHistory } from "../client/controllers"
|
||||||
import { ItemHistoryResponse } from "../client/response"
|
import { ItemHistoryResponse } from "../client/response"
|
||||||
import styled from "styled-components"
|
|
||||||
|
|
||||||
type ItemHistoryTableProps = {
|
type ItemHistoryTableProps = {
|
||||||
itemId: number
|
itemId: number
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
import { Mutex } from "async-mutex"
|
||||||
import useAsyncEffect from "use-async-effect"
|
import useAsyncEffect from "use-async-effect"
|
||||||
import { useItemStore } from "../providers/ItemsProvider"
|
import { useItemStore } from "../providers/ItemsProvider"
|
||||||
import { Mutex } from "async-mutex"
|
|
||||||
import { ItemTableListRow } from "./ItemTableListRow"
|
import { ItemTableListRow } from "./ItemTableListRow"
|
||||||
|
|
||||||
const itemApiMutex = new Mutex()
|
const itemApiMutex = new Mutex()
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
|
import { Mutex } from "async-mutex"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
import styled from "styled-components"
|
import styled from "styled-components"
|
||||||
import { ItemPriceResponse } from "../client/response"
|
|
||||||
import { ItemHistoryTable } from "./ItemHistoryTable"
|
|
||||||
import useAsyncEffect from "use-async-effect"
|
import useAsyncEffect from "use-async-effect"
|
||||||
import { useItemStore } from "../providers/ItemsProvider"
|
|
||||||
import { Mutex } from "async-mutex"
|
|
||||||
import { useCurrentAuthenticatedUserStore } from "../providers"
|
|
||||||
import { useShallow } from "zustand/shallow"
|
import { useShallow } from "zustand/shallow"
|
||||||
|
import { ItemPriceResponse } from "../client/response"
|
||||||
|
import { useCurrentAuthenticatedUserStore } from "../providers"
|
||||||
|
import { useItemStore } from "../providers/ItemsProvider"
|
||||||
|
import { ItemHistoryTable } from "./ItemHistoryTable"
|
||||||
|
|
||||||
type ItemTableListRowProps = {
|
type ItemTableListRowProps = {
|
||||||
item: ItemPriceResponse
|
item: ItemPriceResponse
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
'use client'
|
'use client'
|
||||||
import Link from "next/link"
|
|
||||||
import { useCurrentAuthenticatedUserStore } from "../providers"
|
|
||||||
import useAsyncEffect from "use-async-effect"
|
|
||||||
import { Mutex } from "async-mutex"
|
import { Mutex } from "async-mutex"
|
||||||
|
import Link from "next/link"
|
||||||
|
import useAsyncEffect from "use-async-effect"
|
||||||
import { useShallow } from "zustand/shallow"
|
import { useShallow } from "zustand/shallow"
|
||||||
|
import { useCurrentAuthenticatedUserStore } from "../providers"
|
||||||
|
|
||||||
const navBarMutex = new Mutex()
|
const navBarMutex = new Mutex()
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
'for client'
|
'for client'
|
||||||
import { useItemStore } from "../providers/ItemsProvider"
|
|
||||||
import { useState } from "react"
|
|
||||||
import useAsyncEffect from "use-async-effect"
|
|
||||||
import styled from "styled-components"
|
|
||||||
import { Mutex } from "async-mutex"
|
import { Mutex } from "async-mutex"
|
||||||
|
import { useState } from "react"
|
||||||
|
import styled from "styled-components"
|
||||||
|
import useAsyncEffect from "use-async-effect"
|
||||||
|
import { useItemStore } from "../providers/ItemsProvider"
|
||||||
|
|
||||||
type OrderItemTableProps = {
|
type OrderItemTableProps = {
|
||||||
orderId: number
|
orderId: number
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
'for client'
|
'for client'
|
||||||
import { useOrderStore } from "../providers/OrderProvider"
|
|
||||||
import { useShallow } from "zustand/shallow"
|
|
||||||
import useAsyncEffect from "use-async-effect"
|
|
||||||
import { Mutex } from "async-mutex"
|
import { Mutex } from "async-mutex"
|
||||||
import styled from "styled-components"
|
import styled from "styled-components"
|
||||||
|
import useAsyncEffect from "use-async-effect"
|
||||||
|
import { useShallow } from "zustand/shallow"
|
||||||
|
import { useOrderStore } from "../providers/OrderProvider"
|
||||||
import { OrderTableRow } from "./OrderTableRow"
|
import { OrderTableRow } from "./OrderTableRow"
|
||||||
|
|
||||||
type OrderTableProps = {
|
type OrderTableProps = {
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ const OrderDetailsContainer = styled.div`
|
|||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
export const OrderTableRow = ({orderId, orderer, dateDue, datePlaced, amountPaid, orderTotal, amountDue, filled, delivered}: OrderTableRowProps) => {
|
export const OrderTableRow = ({orderId, orderer, dateDue, datePlaced, amountDue, filled, delivered}: OrderTableRowProps) => {
|
||||||
const dateDueDate = new Date(dateDue)
|
const dateDueDate = new Date(dateDue)
|
||||||
const datePlacedDate = new Date(datePlaced)
|
const datePlacedDate = new Date(datePlaced)
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
'use client'
|
'use client'
|
||||||
import { useShallow } from "zustand/shallow"
|
|
||||||
import { useUserStore } from "../providers/UsersProvider"
|
|
||||||
import useAsyncEffect from "use-async-effect"
|
|
||||||
import styled from "styled-components"
|
|
||||||
import { useRef, useState } from "react"
|
|
||||||
import { useCurrentAuthenticatedUserStore } from "../providers"
|
|
||||||
import { Mutex } from "async-mutex"
|
import { Mutex } from "async-mutex"
|
||||||
|
import { useRef, useState } from "react"
|
||||||
|
import styled from "styled-components"
|
||||||
|
import useAsyncEffect from "use-async-effect"
|
||||||
|
import { useShallow } from "zustand/shallow"
|
||||||
|
import { useCurrentAuthenticatedUserStore } from "../providers"
|
||||||
|
import { useUserStore } from "../providers/UsersProvider"
|
||||||
|
|
||||||
type UserTableProps = {
|
type UserTableProps = {
|
||||||
page: number
|
page: number
|
||||||
@@ -86,13 +86,13 @@ export const UserTable = ({page}: UserTableProps) => {
|
|||||||
<UserTableItem>{u.Id}</UserTableItem>
|
<UserTableItem>{u.Id}</UserTableItem>
|
||||||
<UserTableItem>{u.Name}</UserTableItem>
|
<UserTableItem>{u.Name}</UserTableItem>
|
||||||
<UserTableItem>{u.JobPosition}</UserTableItem>
|
<UserTableItem>{u.JobPosition}</UserTableItem>
|
||||||
<UserTableItem><input type="checkbox" onChange={async (e) => {
|
<UserTableItem><input type="checkbox" onChange={async () => {
|
||||||
if(u.Active)
|
if(u.Active)
|
||||||
await userStore.deactivateUser(u.Id)
|
await userStore.deactivateUser(u.Id)
|
||||||
else
|
else
|
||||||
await userStore.activateUser(u.Id)
|
await userStore.activateUser(u.Id)
|
||||||
}} checked={u.Active}/></UserTableItem>
|
}} checked={u.Active}/></UserTableItem>
|
||||||
<UserTableItem><input type="checkbox" onChange={async (e) => {
|
<UserTableItem><input type="checkbox" onChange={async () => {
|
||||||
if(u.Admin)
|
if(u.Admin)
|
||||||
await userStore.demoteUser(u.Id)
|
await userStore.demoteUser(u.Id)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -5,13 +5,6 @@
|
|||||||
--foreground: #171717;
|
--foreground: #171717;
|
||||||
}
|
}
|
||||||
|
|
||||||
@theme inline {
|
|
||||||
--color-background: var(--background);
|
|
||||||
--color-foreground: var(--foreground);
|
|
||||||
--font-sans: var(--font-geist-sans);
|
|
||||||
--font-mono: var(--font-geist-mono);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
:root {
|
:root {
|
||||||
--background: #0a0a0a;
|
--background: #0a0a0a;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
'use client'
|
'use client'
|
||||||
import { useState } from "react"
|
|
||||||
import { ItemTableList } from "../components/ItemTableList"
|
|
||||||
import useAsyncEffect from "use-async-effect"
|
|
||||||
import { Mutex } from "async-mutex"
|
import { Mutex } from "async-mutex"
|
||||||
import { useItemStore } from "../providers/ItemsProvider"
|
import { useState } from "react"
|
||||||
import { useCurrentAuthenticatedUserStore } from "../providers"
|
import useAsyncEffect from "use-async-effect"
|
||||||
import { useShallow } from "zustand/shallow"
|
import { useShallow } from "zustand/shallow"
|
||||||
|
import { ItemTableList } from "../components/ItemTableList"
|
||||||
|
import { useCurrentAuthenticatedUserStore } from "../providers"
|
||||||
|
import { useItemStore } from "../providers/ItemsProvider"
|
||||||
|
|
||||||
|
|
||||||
const itemPageApiMutex = new Mutex()
|
const itemPageApiMutex = new Mutex()
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
'use client'
|
'use client'
|
||||||
|
import { OrderTableList } from '@/app/components/OrderTableList'
|
||||||
import { useParams } from 'next/navigation'
|
import { useParams } from 'next/navigation'
|
||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
import { OrderTableList } from '@/app/components/OrderTableList'
|
|
||||||
import useAsyncEffect from 'use-async-effect'
|
|
||||||
import DatePicker from 'react-datepicker'
|
import DatePicker from 'react-datepicker'
|
||||||
|
import useAsyncEffect from 'use-async-effect'
|
||||||
|
|
||||||
import "react-datepicker/dist/react-datepicker.css"
|
|
||||||
import { useOrderStore } from '@/app/providers/OrderProvider'
|
import { useOrderStore } from '@/app/providers/OrderProvider'
|
||||||
|
import "react-datepicker/dist/react-datepicker.css"
|
||||||
|
|
||||||
const OrderTable = () => {
|
const OrderTable = () => {
|
||||||
const {page, filter} = useParams()
|
const {page, filter} = useParams()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { create } from 'zustand'
|
import { create } from 'zustand'
|
||||||
import { UserResponse } from '../client/response'
|
|
||||||
import { GetCurrentUser, SetUserName } from '../client/controllers'
|
import { GetCurrentUser, SetUserName } from '../client/controllers'
|
||||||
|
import { UserResponse } from '../client/response'
|
||||||
|
|
||||||
export type UserActions = {
|
export type UserActions = {
|
||||||
sync: () => Promise<UserResponse | undefined>
|
sync: () => Promise<UserResponse | undefined>
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import { create } from 'zustand'
|
import { create } from 'zustand'
|
||||||
import { ItemPriceResponse, OrderItemPriceResponse, OrderFilledResponse } from '../client/response'
|
|
||||||
import * as ItemController from '../client/controllers/ItemController'
|
import * as ItemController from '../client/controllers/ItemController'
|
||||||
import { CreateItemQuery } from '../client/queries/CreateItemQuery'
|
import { CreateItemQuery } from '../client/queries/CreateItemQuery'
|
||||||
import { SetItemPriceQuery } from '../client/queries/SetItemPriceQuery'
|
import { SetItemPriceQuery } from '../client/queries/SetItemPriceQuery'
|
||||||
import { blob } from 'stream/consumers'
|
import { ItemPriceResponse, OrderFilledResponse, OrderItemPriceResponse } from '../client/response'
|
||||||
|
|
||||||
export type ItemData = {
|
export type ItemData = {
|
||||||
items: ItemPriceResponse[],
|
items: ItemPriceResponse[],
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { create } from 'zustand'
|
import { create } from 'zustand'
|
||||||
import { OrderResponse } from '../client/response'
|
|
||||||
import { OrderTableQuery } from '../client/request/GetOrderTableRequest'
|
|
||||||
import * as OrderController from '../client/controllers/OrderController'
|
import * as OrderController from '../client/controllers/OrderController'
|
||||||
|
import { OrderTableQuery } from '../client/request/GetOrderTableRequest'
|
||||||
|
import { OrderResponse } from '../client/response'
|
||||||
|
|
||||||
type OrderData = {
|
type OrderData = {
|
||||||
orders: OrderResponse[]
|
orders: OrderResponse[]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { create } from 'zustand'
|
import { create } from 'zustand'
|
||||||
|
import { ActivateUser, CreatePosition, DeactivateUser, DemoteUser, GetUserTable, PromoteUser, SetUserPosition } from '../client/controllers'
|
||||||
import { UserResponse } from '../client/response'
|
import { UserResponse } from '../client/response'
|
||||||
import { GetUserTable, SetUserPosition, PromoteUser, DemoteUser, DeactivateUser, CreatePosition, ActivateUser } from '../client/controllers'
|
|
||||||
type UserData = {
|
type UserData = {
|
||||||
tableUsers: UserResponse[]
|
tableUsers: UserResponse[]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
export * from './AuthenticationProvider'
|
export * from './AuthenticationProvider';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
'use client'
|
'use client'
|
||||||
import { useParams } from 'next/navigation'
|
|
||||||
import { UserTable } from '@/app/components/UserTable'
|
import { UserTable } from '@/app/components/UserTable'
|
||||||
|
import { useParams } from 'next/navigation'
|
||||||
|
|
||||||
const Users = () => {
|
const Users = () => {
|
||||||
const {page} = useParams()
|
const {page} = useParams()
|
||||||
|
|||||||
Reference in New Issue
Block a user