wcz-test 6.24.7 → 6.24.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/ApprovalStatus-lESbUD_x.js +6 -0
  2. package/dist/DialogsContext-2Yy6yhzQ.js +5 -0
  3. package/dist/DialogsHooks-DWkC9zAf.js +113 -0
  4. package/dist/FileHooks-kGkVKOf9.js +2694 -0
  5. package/dist/FileMeta-Bzeo3ie9.js +17 -0
  6. package/dist/RouterListItemButton-C_SG0uka.js +17 -0
  7. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  8. package/dist/client.js +8 -9
  9. package/dist/components.js +632 -1454
  10. package/dist/env-4ZoUrNqp.js +27 -0
  11. package/dist/exports/server.d.ts +0 -3
  12. package/dist/hooks.js +371 -985
  13. package/dist/index.js +1580 -2940
  14. package/dist/models.js +147 -164
  15. package/dist/queries.js +519 -911
  16. package/dist/queryClient--EvGPhnh.js +5 -0
  17. package/dist/server.js +40 -63
  18. package/dist/session-7yb0BETM.js +75 -0
  19. package/dist/{chunks/utils-MD9YwOtu.js → utils-CZraUjBd.js} +24 -34
  20. package/dist/utils.js +6 -7
  21. package/dist/vite.js +31 -40
  22. package/package.json +3 -6
  23. package/dist/chunks/ApprovalStatus-BtAVFn5p.js +0 -8
  24. package/dist/chunks/ApprovalStatus-BtAVFn5p.js.map +0 -1
  25. package/dist/chunks/DialogsContext-DoU_8Eeu.js +0 -6
  26. package/dist/chunks/DialogsContext-DoU_8Eeu.js.map +0 -1
  27. package/dist/chunks/DialogsHooks-DOT0O_b4.js +0 -278
  28. package/dist/chunks/DialogsHooks-DOT0O_b4.js.map +0 -1
  29. package/dist/chunks/FileHooks-DCnXvUtq.js +0 -3554
  30. package/dist/chunks/FileHooks-DCnXvUtq.js.map +0 -1
  31. package/dist/chunks/FileMeta-G1oT3mYK.js +0 -18
  32. package/dist/chunks/FileMeta-G1oT3mYK.js.map +0 -1
  33. package/dist/chunks/RouterListItemButton-DTYXk1kh.js +0 -35
  34. package/dist/chunks/RouterListItemButton-DTYXk1kh.js.map +0 -1
  35. package/dist/chunks/env-gsqZ6zZD.js +0 -30
  36. package/dist/chunks/env-gsqZ6zZD.js.map +0 -1
  37. package/dist/chunks/queryClient-CNvC95mU.js +0 -6
  38. package/dist/chunks/queryClient-CNvC95mU.js.map +0 -1
  39. package/dist/chunks/session-vW7WZadj.js +0 -91
  40. package/dist/chunks/session-vW7WZadj.js.map +0 -1
  41. package/dist/chunks/utils-MD9YwOtu.js.map +0 -1
  42. package/dist/client.js.map +0 -1
  43. package/dist/components.js.map +0 -1
  44. package/dist/hooks.js.map +0 -1
  45. package/dist/index.js.map +0 -1
  46. package/dist/models.js.map +0 -1
  47. package/dist/queries.js.map +0 -1
  48. package/dist/server.js.map +0 -1
  49. package/dist/utils.js.map +0 -1
  50. package/dist/vite.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"queries.js","sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport type { DefinedInitialDataOptions } from \"@tanstack/react-query\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { httpClient } from \"~/lib/utils\";\r\n\r\nconst QUERY_KEY = \"ps\";\r\nconst DAY = 1000 * 60 * 60 * 24;\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseEmployeeArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Employee>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseEmployeeQueryOptions = Omit<DefinedInitialDataOptions<Employee>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Department>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentQueryOptions = Omit<DefinedInitialDataOptions<Department>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\n\r\nexport const useGetPeopleSoftEmployeesSearch = (searchTerm: string, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftActiveEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeById = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftPreviousEmployeeIds = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSupervisor = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSubordinates = (employeeId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeGeneralManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartments = (options?: BaseDepartmentArrayQueryOptions) => {\r\n return useQuery<Array<Department>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Department>>({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentById = (departmentId: OptionalId, options?: BaseDepartmentQueryOptions) => {\r\n return useQuery<Department>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId],\r\n queryFn: ({ signal }) => httpClient.request<Department>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentManager = (departmentId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentEmployees = (departmentId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftCompanyGeneralManager = (companyCode: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport z from \"zod\";\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\nimport { clientEnv } from \"~/env\";\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\n\nconst ROUTE = \"approval\";\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\n\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\n\nconst GetApprovalsParamsSchema = z.object({\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional()\n});\n\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\n\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) => {\n const queryParams = new URLSearchParams();\n\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\n if (params?.status) queryParams.append(\"status\", params.status.toString());\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\n\n return useQuery<Array<Approval>>({\n ...options,\n queryKey: [ROUTE, params],\n queryFn: ({ signal }) => httpClient.request<Array<Approval>>({\n url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n signal,\n }).then(request => request.data),\n });\n};\n\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => useQuery<Approval>({\n ...options,\n queryKey: [ROUTE, id],\n queryFn: ({ signal }) => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests/${id}`,\n method: \"GET\",\n signal,\n }).then(request => request.data),\n});\n\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<Approval, Error, CreateApproval>({\n ...options,\n mutationFn: data => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<Approval, Error, ApproveApproval>({\n ...options,\n mutationFn: data => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests/${data.id}/single-approval`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<Approval, Error, ResubmitApproval>({\n ...options,\n mutationFn: data => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests/${data.id}/resubmit`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<void, Error, WithdrawApproval>({\n ...options,\n mutationFn: data => httpClient.request<void>({\n url: `/${ROUTE}/Requests/${data.id}/withdraw`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<void, Error, CancelApproval>({\n ...options,\n mutationFn: data => httpClient.request<void>({\n url: `/${ROUTE}/Requests/${data.id}/cancel`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n"],"names":["QUERY_KEY","DAY","useGetPeopleSoftEmployeesSearch","searchTerm","options","$","_c","t0","t1","t2","signal","httpClient","request","url","method","then","_temp","queryKey","queryFn","staleTime","gcTime","refetchOnWindowFocus","useQuery","useGetPeopleSoftEmployees","Symbol","for","_temp3","useGetPeopleSoftActiveEmployees","_temp5","useGetPeopleSoftEmployeeById","employeeId","_temp6","useGetPeopleSoftPreviousEmployeeIds","_temp8","useGetPeopleSoftEmployeeSupervisor","_temp9","useGetPeopleSoftEmployeeSubordinates","_temp0","useGetPeopleSoftEmployeeManager","_temp1","useGetPeopleSoftEmployeeGeneralManager","_temp10","useGetPeopleSoftDepartments","_temp12","useGetPeopleSoftDepartmentById","departmentId","_temp13","useGetPeopleSoftDepartmentManager","_temp14","useGetPeopleSoftDepartmentEmployees","_temp15","useGetPeopleSoftCompanyGeneralManager","companyCode","_temp16","data","_temp2","_temp4","_temp7","_temp11","ROUTE","APP_NAME","toKebabCase","clientEnv","VITE_APP_TITLE","z","object","appName","string","min","max","default","optional","status","ApprovalStatus","approverEmployeeId","stepResult","ApprovalStepResult","useGetApprovals","params","queryParams","URLSearchParams","append","toString","useGetApproval","id","useCreateApproval","queryClient","useQueryClient","invalidateQueries","exact","mutationFn","onSettled","useMutation","useApproveApproval","useResubmitApproval","useWithdrawApproval","useCancelApproval"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sources":["../src/lib/auth/api.ts"],"sourcesContent":["import { deleteCookie, getCookie, setCookie } from \"@tanstack/react-start/server\";\r\nimport { decodeIdToken, generateCodeVerifier, generateState } from \"arctic\";\r\nimport type jwt from \"jsonwebtoken\";\r\nimport { serverEnv } from \"~/env\";\r\nimport { entraId } from \"~/lib/auth/entra\";\r\nimport { setSessionAccessTokenCookie, setSessionCookie } from \"~/lib/auth/session\";\r\n\r\nexport const login = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const redirectUri = url.searchParams.get(\"redirect_uri\") || \"/\";\r\n\r\n const state = generateState();\r\n const codeVerifier = generateCodeVerifier();\r\n const scopes = [\"openid\", \"profile\", \"offline_access\", \"User.Read\"];\r\n const authorizationURL = entraId.createAuthorizationURL(state, codeVerifier, scopes);\r\n\r\n setCookie(\"entra_oauth_state\", state, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes\r\n });\r\n\r\n setCookie(\"entra_code_verifier\", codeVerifier, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n setCookie(\"entra_redirect_uri\", redirectUri, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n return Response.redirect(authorizationURL.href);\r\n};\r\n\r\nexport const callback = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const code = url.searchParams.get(\"code\");\r\n if (!code) return new Response(\"Missing code\", { status: 400 });\r\n const state = url.searchParams.get(\"state\");\r\n const storedState = getCookie(\"entra_oauth_state\") ?? null;\r\n const codeVerifier = getCookie(\"entra_code_verifier\") ?? null;\r\n const redirectUri = getCookie(\"entra_redirect_uri\") ?? \"/\";\r\n\r\n if (!state || !storedState || !codeVerifier || !redirectUri) throw new Response(\"Missing entra oauth data in cookies\", { status: 400 });\r\n if (state !== storedState) return new Response(\"Invalid oauth state\", { status: 400 });\r\n\r\n deleteCookie(\"entra_oauth_state\");\r\n deleteCookie(\"entra_code_verifier\");\r\n deleteCookie(\"entra_redirect_uri\");\r\n\r\n const tokens = await entraId.validateAuthorizationCode(code, codeVerifier);\r\n\r\n const idToken = tokens.idToken();\r\n const claims = decodeIdToken(idToken) as jwt.JwtPayload;\r\n\r\n await setSessionCookie({\r\n refreshToken: tokens.refreshToken(),\r\n user: {\r\n id: claims.oid,\r\n name: claims.name.split(\"/\")[0],\r\n email: claims.preferred_username,\r\n }\r\n });\r\n\r\n await setSessionAccessTokenCookie(tokens.accessToken());\r\n\r\n return new Response(null, {\r\n status: 302,\r\n headers: { Location: redirectUri },\r\n });\r\n};\r\n\r\nexport const logout = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n\r\n // const { session } = await validateRequest();\r\n // if (!session) {\r\n // return new Response(null, { status: 302, headers: { Location: \"/\" } });\r\n // }\r\n // setCookie(SESSION_COOKIE_NAME, \"\", {\r\n // httpOnly: true,\r\n // sameSite: \"lax\",\r\n // secure: serverEnv.NODE_ENV === \"production\",\r\n // maxAge: 0,\r\n // path: \"/\",\r\n // });\r\n\r\n return new Response(null, { status: 302, headers: { Location: url.href } });\r\n};\r\n"],"names":["login","request","url","URL","redirectUri","searchParams","get","state","generateState","codeVerifier","generateCodeVerifier","scopes","authorizationURL","entraId","createAuthorizationURL","setCookie","secure","serverEnv","NODE_ENV","path","httpOnly","sameSite","maxAge","Response","redirect","href","callback","code","status","storedState","getCookie","deleteCookie","tokens","validateAuthorizationCode","idToken","claims","decodeIdToken","setSessionCookie","refreshToken","user","id","oid","name","split","email","preferred_username","setSessionAccessTokenCookie","accessToken","headers","Location","logout"],"mappings":";;;;;AAOO,MAAMA,QAAQ,OAAOC,YAAwC;AAChE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAC/B,QAAME,cAAcF,IAAIG,aAAaC,IAAI,cAAc,KAAK;AAE5D,QAAMC,QAAQC,cAAAA;AACd,QAAMC,eAAeC,qBAAAA;AACrB,QAAMC,SAAS,CAAC,UAAU,WAAW,kBAAkB,WAAW;AAClE,QAAMC,mBAAmBC,QAAQC,uBAAuBP,OAAOE,cAAcE,MAAM;AAEnFI,YAAU,qBAAqBR,OAAO;AAAA,IAClCS,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAEDP,YAAU,uBAAuBN,cAAc;AAAA,IAC3CO,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAEDP,YAAU,sBAAsBX,aAAa;AAAA,IACzCY,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAED,SAAOC,SAASC,SAASZ,iBAAiBa,IAAI;AAClD;AAEO,MAAMC,WAAW,OAAOzB,YAAwC;AACnE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAC/B,QAAMyB,OAAOzB,IAAIG,aAAaC,IAAI,MAAM;AACxC,MAAI,CAACqB,KAAM,QAAO,IAAIJ,SAAS,gBAAgB;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AAC9D,QAAMrB,QAAQL,IAAIG,aAAaC,IAAI,OAAO;AAC1C,QAAMuB,cAAcC,UAAU,mBAAmB,KAAK;AACtD,QAAMrB,eAAeqB,UAAU,qBAAqB,KAAK;AACzD,QAAM1B,cAAc0B,UAAU,oBAAoB,KAAK;AAEvD,MAAI,CAACvB,SAAS,CAACsB,eAAe,CAACpB,gBAAgB,CAACL,YAAa,OAAM,IAAImB,SAAS,uCAAuC;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AACtI,MAAIrB,UAAUsB,YAAa,QAAO,IAAIN,SAAS,uBAAuB;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AAErFG,eAAa,mBAAmB;AAChCA,eAAa,qBAAqB;AAClCA,eAAa,oBAAoB;AAEjC,QAAMC,SAAS,MAAMnB,QAAQoB,0BAA0BN,MAAMlB,YAAY;AAEzE,QAAMyB,UAAUF,OAAOE,QAAAA;AACvB,QAAMC,SAASC,cAAcF,OAAO;AAEpC,QAAMG,iBAAiB;AAAA,IACnBC,cAAcN,OAAOM,aAAAA;AAAAA,IACrBC,MAAM;AAAA,MACFC,IAAIL,OAAOM;AAAAA,MACXC,MAAMP,OAAOO,KAAKC,MAAM,GAAG,EAAE,CAAC;AAAA,MAC9BC,OAAOT,OAAOU;AAAAA,IAAAA;AAAAA,EAClB,CACH;AAED,QAAMC,4BAA4Bd,OAAOe,aAAa;AAEtD,SAAO,IAAIxB,SAAS,MAAM;AAAA,IACtBK,QAAQ;AAAA,IACRoB,SAAS;AAAA,MAAEC,UAAU7C;AAAAA,IAAAA;AAAAA,EAAY,CACpC;AACL;AAEO,MAAM8C,SAAS,OAAOjD,YAAwC;AACjE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAc/B,SAAO,IAAIqB,SAAS,MAAM;AAAA,IAAEK,QAAQ;AAAA,IAAKoB,SAAS;AAAA,MAAEC,UAAU/C,IAAIuB;AAAAA,IAAAA;AAAAA,EAAK,CAAG;AAC9E;"}
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
package/dist/vite.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.js","sources":["../src/lib/vite-plugin.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { Resource } from \"i18next\";\nimport type { Plugin } from \"vite\";\n\nexport function viteWczLayout(): Plugin {\n const virtualModuleId = \"virtual:wcz-layout\";\n const resolvedVirtualModuleId = \"\\0\" + virtualModuleId;\n\n let localesPath: string;\n\n return {\n name: \"vite:wcz-layout\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n localesPath = path.resolve(resolvedConfig.root, \"src/locales\");\n },\n config() {\n return {\n optimizeDeps: {\n exclude: [virtualModuleId],\n },\n ssr: {\n noExternal: [\"@mui/*\"],\n },\n };\n },\n resolveId(id) {\n if (id === virtualModuleId) return resolvedVirtualModuleId;\n return null;\n },\n load(id) {\n if (id !== resolvedVirtualModuleId) return null;\n\n if (!fs.existsSync(localesPath)) {\n fs.mkdirSync(localesPath, { recursive: true });\n }\n\n const enPath = path.join(localesPath, \"en.json\");\n if (!fs.existsSync(enPath)) {\n fs.writeFileSync(enPath, JSON.stringify({}));\n }\n\n const files = fs.readdirSync(localesPath);\n const jsonFiles = files.filter((f) => f.endsWith(\".json\"));\n\n const resources: Resource = {};\n\n for (const file of jsonFiles) {\n const lang = path.basename(file, \".json\");\n const filePath = path.join(localesPath, file);\n\n try {\n const content = fs.readFileSync(filePath, \"utf-8\");\n const translations = JSON.parse(content);\n resources[lang] = { translation: translations };\n } catch (error) {\n console.error(`[vite:layout] Error parsing ${file}:`, error);\n resources[lang] = { translation: {} };\n }\n\n this.addWatchFile(filePath);\n }\n\n return `export const resources = ${JSON.stringify(resources)};`;\n },\n };\n}\n"],"names":["viteWczLayout","virtualModuleId","resolvedVirtualModuleId","localesPath","name","enforce","configResolved","resolvedConfig","path","resolve","root","config","optimizeDeps","exclude","ssr","noExternal","resolveId","id","load","fs","existsSync","mkdirSync","recursive","enPath","join","writeFileSync","JSON","stringify","files","readdirSync","jsonFiles","filter","f","endsWith","resources","file","lang","basename","filePath","content","readFileSync","translations","parse","translation","error","console","addWatchFile"],"mappings":";;AAKO,SAASA,gBAAwB;AACpC,QAAMC,kBAAkB;AACxB,QAAMC,0BAA0B,OAAOD;AAEvC,MAAIE;AAEJ,SAAO;AAAA,IACHC,MAAM;AAAA,IACNC,SAAS;AAAA,IACTC,eAAeC,gBAAgB;AAC3BJ,oBAAcK,KAAKC,QAAQF,eAAeG,MAAM,aAAa;AAAA,IACjE;AAAA,IACAC,SAAS;AACL,aAAO;AAAA,QACHC,cAAc;AAAA,UACVC,SAAS,CAACZ,eAAe;AAAA,QAAA;AAAA,QAE7Ba,KAAK;AAAA,UACDC,YAAY,CAAC,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IAER;AAAA,IACAC,UAAUC,IAAI;AACV,UAAIA,OAAOhB,gBAAiB,QAAOC;AACnC,aAAO;AAAA,IACX;AAAA,IACAgB,KAAKD,IAAI;AACL,UAAIA,OAAOf,wBAAyB,QAAO;AAE3C,UAAI,CAACiB,GAAGC,WAAWjB,WAAW,GAAG;AAC7BgB,WAAGE,UAAUlB,aAAa;AAAA,UAAEmB,WAAW;AAAA,QAAA,CAAM;AAAA,MACjD;AAEA,YAAMC,SAASf,KAAKgB,KAAKrB,aAAa,SAAS;AAC/C,UAAI,CAACgB,GAAGC,WAAWG,MAAM,GAAG;AACxBJ,WAAGM,cAAcF,QAAQG,KAAKC,UAAU,CAAA,CAAE,CAAC;AAAA,MAC/C;AAEA,YAAMC,QAAQT,GAAGU,YAAY1B,WAAW;AACxC,YAAM2B,YAAYF,MAAMG,OAAQC,OAAMA,EAAEC,SAAS,OAAO,CAAC;AAEzD,YAAMC,YAAsB,CAAA;AAE5B,iBAAWC,QAAQL,WAAW;AAC1B,cAAMM,OAAO5B,KAAK6B,SAASF,MAAM,OAAO;AACxC,cAAMG,WAAW9B,KAAKgB,KAAKrB,aAAagC,IAAI;AAE5C,YAAI;AACA,gBAAMI,UAAUpB,GAAGqB,aAAaF,UAAU,OAAO;AACjD,gBAAMG,eAAef,KAAKgB,MAAMH,OAAO;AACvCL,oBAAUE,IAAI,IAAI;AAAA,YAAEO,aAAaF;AAAAA,UAAAA;AAAAA,QACrC,SAASG,OAAO;AACZC,kBAAQD,MAAM,+BAA+BT,IAAI,KAAKS,KAAK;AAC3DV,oBAAUE,IAAI,IAAI;AAAA,YAAEO,aAAa,CAAA;AAAA,UAAC;AAAA,QACtC;AAEA,aAAKG,aAAaR,QAAQ;AAAA,MAC9B;AAEA,aAAO,4BAA4BZ,KAAKC,UAAUO,SAAS,CAAC;AAAA,IAChE;AAAA,EAAA;AAER;"}