diff --git a/api/auth/middleware/authentication_middleware.go b/api/auth/middleware/authentication_middleware.go index ae16613..0b858d9 100644 --- a/api/auth/middleware/authentication_middleware.go +++ b/api/auth/middleware/authentication_middleware.go @@ -43,34 +43,7 @@ func TokenIsNotExpired(access_token string) bool { func GetUserProfile(context *gin.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 profile_session := session.Get("profile").(map[string]interface{}) user_profile.Sub = profile_session["sub"].(string) diff --git a/api/controllers/userController.go b/api/controllers/userController.go index c3d4291..3aaaf00 100644 --- a/api/controllers/userController.go +++ b/api/controllers/userController.go @@ -217,7 +217,7 @@ func CreatePosition(pool *pgxpool.Pool) gin.HandlerFunc { _, exec_err := conn.Exec(context.Background(), queries.CREATE_POSITION, position_name) if exec_err != nil { 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 } } @@ -248,14 +248,14 @@ func SetUserPosition(pool *pgxpool.Pool) gin.HandlerFunc { return } 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 } _, exec_err := conn.Exec(context.Background(), queries.USER_SET_POSITION, position_id, user_id) if exec_err != nil { 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 } } diff --git a/ordr-ui/app/client/controllers/ItemController.ts b/ordr-ui/app/client/controllers/ItemController.ts index 5083ec7..c28d3e6 100644 --- a/ordr-ui/app/client/controllers/ItemController.ts +++ b/ordr-ui/app/client/controllers/ItemController.ts @@ -1,17 +1,17 @@ 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 {GetOrderItemsQuery} from '../queries/GetOrderItemsQuery' -import {SetItemMadeRequest} from '../request/SetItemMadeRequest' -import {OrderFilledResponse} from '../response/OrderFilledResponse' -import {SetItemQuantityRequest} from '../request/SetItemQuantityRequest' -import {DeleteOrderItemRequest} from '../request/DeleteOrderItemRequest' +import { AddItemToOrderQuery } from '../queries/AddItemToOrderQuery' +import { CreateItemQuery } from '../queries/CreateItemQuery' +import { GetCurrentPriceQuery } from '../queries/GetCurrentPriceQuery' +import { GetOrderItemsQuery } from '../queries/GetOrderItemsQuery' +import { SetItemPriceQuery } from '../queries/SetItemPriceQuery' +import { DeleteOrderItemRequest } from '../request/DeleteOrderItemRequest' +import { SetItemMadeRequest } from '../request/SetItemMadeRequest' +import { SetItemQuantityRequest } from '../request/SetItemQuantityRequest' 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 => { const queryParams = new URLSearchParams({ diff --git a/ordr-ui/app/client/controllers/OrderController.ts b/ordr-ui/app/client/controllers/OrderController.ts index 9df25b5..fbd5433 100644 --- a/ordr-ui/app/client/controllers/OrderController.ts +++ b/ordr-ui/app/client/controllers/OrderController.ts @@ -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 => { return response; diff --git a/ordr-ui/app/client/controllers/UserController.ts b/ordr-ui/app/client/controllers/UserController.ts index 9768680..713f690 100644 --- a/ordr-ui/app/client/controllers/UserController.ts +++ b/ordr-ui/app/client/controllers/UserController.ts @@ -1,7 +1,5 @@ -import axios, { HttpStatusCode } from 'axios' -import { UserResponse } from '../response/UserResponse' -import { UserTable } from '../queries/UserTableQuery' -import { LoginRedirectResponse } from '../response' +import axios from 'axios'; +import { UserResponse } from '../response/UserResponse'; // import { cookies } from 'next/headers' diff --git a/ordr-ui/app/components/ItemHistoryTable.tsx b/ordr-ui/app/components/ItemHistoryTable.tsx index 0d5e589..efa9de0 100644 --- a/ordr-ui/app/components/ItemHistoryTable.tsx +++ b/ordr-ui/app/components/ItemHistoryTable.tsx @@ -1,9 +1,9 @@ import { Mutex } from "async-mutex" import { useState } from "react" +import styled from "styled-components" import useAsyncEffect from "use-async-effect" import { GetItemHistory } from "../client/controllers" import { ItemHistoryResponse } from "../client/response" -import styled from "styled-components" type ItemHistoryTableProps = { itemId: number diff --git a/ordr-ui/app/components/ItemTableList.tsx b/ordr-ui/app/components/ItemTableList.tsx index 11d8030..d36e451 100644 --- a/ordr-ui/app/components/ItemTableList.tsx +++ b/ordr-ui/app/components/ItemTableList.tsx @@ -1,6 +1,6 @@ +import { Mutex } from "async-mutex" import useAsyncEffect from "use-async-effect" import { useItemStore } from "../providers/ItemsProvider" -import { Mutex } from "async-mutex" import { ItemTableListRow } from "./ItemTableListRow" const itemApiMutex = new Mutex() diff --git a/ordr-ui/app/components/ItemTableListRow.tsx b/ordr-ui/app/components/ItemTableListRow.tsx index c8142e4..fbc4c22 100644 --- a/ordr-ui/app/components/ItemTableListRow.tsx +++ b/ordr-ui/app/components/ItemTableListRow.tsx @@ -1,12 +1,12 @@ +import { Mutex } from "async-mutex" import { useState } from "react" import styled from "styled-components" -import { ItemPriceResponse } from "../client/response" -import { ItemHistoryTable } from "./ItemHistoryTable" 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 { ItemPriceResponse } from "../client/response" +import { useCurrentAuthenticatedUserStore } from "../providers" +import { useItemStore } from "../providers/ItemsProvider" +import { ItemHistoryTable } from "./ItemHistoryTable" type ItemTableListRowProps = { item: ItemPriceResponse diff --git a/ordr-ui/app/components/NavBar.tsx b/ordr-ui/app/components/NavBar.tsx index 2383013..d262b0e 100644 --- a/ordr-ui/app/components/NavBar.tsx +++ b/ordr-ui/app/components/NavBar.tsx @@ -1,9 +1,9 @@ 'use client' -import Link from "next/link" -import { useCurrentAuthenticatedUserStore } from "../providers" -import useAsyncEffect from "use-async-effect" import { Mutex } from "async-mutex" +import Link from "next/link" +import useAsyncEffect from "use-async-effect" import { useShallow } from "zustand/shallow" +import { useCurrentAuthenticatedUserStore } from "../providers" const navBarMutex = new Mutex() diff --git a/ordr-ui/app/components/OrderItemTable.tsx b/ordr-ui/app/components/OrderItemTable.tsx index c80df0d..e6a7f68 100644 --- a/ordr-ui/app/components/OrderItemTable.tsx +++ b/ordr-ui/app/components/OrderItemTable.tsx @@ -1,9 +1,9 @@ '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 { useState } from "react" +import styled from "styled-components" +import useAsyncEffect from "use-async-effect" +import { useItemStore } from "../providers/ItemsProvider" type OrderItemTableProps = { orderId: number diff --git a/ordr-ui/app/components/OrderTableList.tsx b/ordr-ui/app/components/OrderTableList.tsx index 6158910..c14d5e2 100644 --- a/ordr-ui/app/components/OrderTableList.tsx +++ b/ordr-ui/app/components/OrderTableList.tsx @@ -1,9 +1,9 @@ 'for client' -import { useOrderStore } from "../providers/OrderProvider" -import { useShallow } from "zustand/shallow" -import useAsyncEffect from "use-async-effect" import { Mutex } from "async-mutex" 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" type OrderTableProps = { diff --git a/ordr-ui/app/components/OrderTableRow.tsx b/ordr-ui/app/components/OrderTableRow.tsx index 160a5e3..be91e1c 100644 --- a/ordr-ui/app/components/OrderTableRow.tsx +++ b/ordr-ui/app/components/OrderTableRow.tsx @@ -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 datePlacedDate = new Date(datePlaced) diff --git a/ordr-ui/app/components/UserTable.tsx b/ordr-ui/app/components/UserTable.tsx index cf65e23..c043647 100644 --- a/ordr-ui/app/components/UserTable.tsx +++ b/ordr-ui/app/components/UserTable.tsx @@ -1,11 +1,11 @@ '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 { 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 = { page: number @@ -86,13 +86,13 @@ export const UserTable = ({page}: UserTableProps) => { {u.Id} {u.Name} {u.JobPosition} - { + { if(u.Active) await userStore.deactivateUser(u.Id) else await userStore.activateUser(u.Id) }} checked={u.Active}/> - { + { if(u.Admin) await userStore.demoteUser(u.Id) else diff --git a/ordr-ui/app/globals.css b/ordr-ui/app/globals.css index a2dc41e..db6b1e3 100644 --- a/ordr-ui/app/globals.css +++ b/ordr-ui/app/globals.css @@ -5,13 +5,6 @@ --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) { :root { --background: #0a0a0a; diff --git a/ordr-ui/app/items/page.tsx b/ordr-ui/app/items/page.tsx index 45456b9..a4cd63e 100644 --- a/ordr-ui/app/items/page.tsx +++ b/ordr-ui/app/items/page.tsx @@ -1,11 +1,11 @@ 'use client' -import { useState } from "react" -import { ItemTableList } from "../components/ItemTableList" -import useAsyncEffect from "use-async-effect" import { Mutex } from "async-mutex" -import { useItemStore } from "../providers/ItemsProvider" -import { useCurrentAuthenticatedUserStore } from "../providers" +import { useState } from "react" +import useAsyncEffect from "use-async-effect" import { useShallow } from "zustand/shallow" +import { ItemTableList } from "../components/ItemTableList" +import { useCurrentAuthenticatedUserStore } from "../providers" +import { useItemStore } from "../providers/ItemsProvider" const itemPageApiMutex = new Mutex() diff --git a/ordr-ui/app/orders/[page]/[filter]/page.tsx b/ordr-ui/app/orders/[page]/[filter]/page.tsx index e649ff4..abd3b9c 100644 --- a/ordr-ui/app/orders/[page]/[filter]/page.tsx +++ b/ordr-ui/app/orders/[page]/[filter]/page.tsx @@ -1,12 +1,12 @@ 'use client' -import {useParams} from 'next/navigation' -import { useState } from 'react' import { OrderTableList } from '@/app/components/OrderTableList' -import useAsyncEffect from 'use-async-effect' +import { useParams } from 'next/navigation' +import { useState } from 'react' 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 "react-datepicker/dist/react-datepicker.css" const OrderTable = () => { const {page, filter} = useParams() diff --git a/ordr-ui/app/providers/AuthenticationProvider.ts b/ordr-ui/app/providers/AuthenticationProvider.ts index 3861b93..82224e1 100644 --- a/ordr-ui/app/providers/AuthenticationProvider.ts +++ b/ordr-ui/app/providers/AuthenticationProvider.ts @@ -1,6 +1,6 @@ import { create } from 'zustand' -import { UserResponse } from '../client/response' import { GetCurrentUser, SetUserName } from '../client/controllers' +import { UserResponse } from '../client/response' export type UserActions = { sync: () => Promise diff --git a/ordr-ui/app/providers/ItemsProvider.ts b/ordr-ui/app/providers/ItemsProvider.ts index 4654d4c..0ef1907 100644 --- a/ordr-ui/app/providers/ItemsProvider.ts +++ b/ordr-ui/app/providers/ItemsProvider.ts @@ -1,9 +1,8 @@ import { create } from 'zustand' -import { ItemPriceResponse, OrderItemPriceResponse, OrderFilledResponse } from '../client/response' import * as ItemController from '../client/controllers/ItemController' import { CreateItemQuery } from '../client/queries/CreateItemQuery' import { SetItemPriceQuery } from '../client/queries/SetItemPriceQuery' -import { blob } from 'stream/consumers' +import { ItemPriceResponse, OrderFilledResponse, OrderItemPriceResponse } from '../client/response' export type ItemData = { items: ItemPriceResponse[], diff --git a/ordr-ui/app/providers/OrderProvider.ts b/ordr-ui/app/providers/OrderProvider.ts index 95bb157..77f2a09 100644 --- a/ordr-ui/app/providers/OrderProvider.ts +++ b/ordr-ui/app/providers/OrderProvider.ts @@ -1,7 +1,7 @@ import { create } from 'zustand' -import { OrderResponse } from '../client/response' -import { OrderTableQuery } from '../client/request/GetOrderTableRequest' import * as OrderController from '../client/controllers/OrderController' +import { OrderTableQuery } from '../client/request/GetOrderTableRequest' +import { OrderResponse } from '../client/response' type OrderData = { orders: OrderResponse[] diff --git a/ordr-ui/app/providers/UsersProvider.ts b/ordr-ui/app/providers/UsersProvider.ts index 964fa89..86751ad 100644 --- a/ordr-ui/app/providers/UsersProvider.ts +++ b/ordr-ui/app/providers/UsersProvider.ts @@ -1,6 +1,6 @@ import { create } from 'zustand' +import { ActivateUser, CreatePosition, DeactivateUser, DemoteUser, GetUserTable, PromoteUser, SetUserPosition } from '../client/controllers' import { UserResponse } from '../client/response' -import { GetUserTable, SetUserPosition, PromoteUser, DemoteUser, DeactivateUser, CreatePosition, ActivateUser } from '../client/controllers' type UserData = { tableUsers: UserResponse[] } diff --git a/ordr-ui/app/providers/index.ts b/ordr-ui/app/providers/index.ts index 5ec66ce..b888a6d 100644 --- a/ordr-ui/app/providers/index.ts +++ b/ordr-ui/app/providers/index.ts @@ -1 +1 @@ -export * from './AuthenticationProvider' +export * from './AuthenticationProvider'; diff --git a/ordr-ui/app/users/[page]/page.tsx b/ordr-ui/app/users/[page]/page.tsx index 7f09af3..b85dee0 100644 --- a/ordr-ui/app/users/[page]/page.tsx +++ b/ordr-ui/app/users/[page]/page.tsx @@ -1,6 +1,6 @@ 'use client' -import { useParams } from 'next/navigation' import { UserTable } from '@/app/components/UserTable' +import { useParams } from 'next/navigation' const Users = () => { const {page} = useParams()