wcz-test 6.24.2 → 6.24.3
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.
- package/dist/chunks/ApprovalStatus-BtAVFn5p.js.map +1 -0
- package/dist/chunks/DialogsContext-DoU_8Eeu.js +6 -0
- package/dist/chunks/DialogsContext-DoU_8Eeu.js.map +1 -0
- package/dist/{DialogsHooks-BQVpqCq9.js → chunks/DialogsHooks-DOT0O_b4.js} +17 -16
- package/dist/chunks/DialogsHooks-DOT0O_b4.js.map +1 -0
- package/dist/chunks/FileHooks-CF1bPDoe.js +493 -0
- package/dist/chunks/FileHooks-CF1bPDoe.js.map +1 -0
- package/dist/chunks/FileMeta-G1oT3mYK.js.map +1 -0
- package/dist/chunks/RouterListItemButton-DTYXk1kh.js +35 -0
- package/dist/chunks/RouterListItemButton-DTYXk1kh.js.map +1 -0
- package/dist/chunks/env-gsqZ6zZD.js.map +1 -0
- package/dist/chunks/queryClient-CNvC95mU.js.map +1 -0
- package/dist/chunks/session-vW7WZadj.js.map +1 -0
- package/dist/chunks/utils-MD9YwOtu.js.map +1 -0
- package/dist/client.js +1 -1
- package/dist/components.js +99 -99
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +47 -47
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +1680 -105
- package/dist/index.js.map +1 -1
- package/dist/models.js +2 -2
- package/dist/queries.js +27 -27
- package/dist/queries.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/utils.js +1 -1
- package/package.json +5 -6
- package/dist/ApprovalStatus-BtAVFn5p.js.map +0 -1
- package/dist/DialogsContext-BKtkEAfL.js +0 -306
- package/dist/DialogsContext-BKtkEAfL.js.map +0 -1
- package/dist/DialogsHooks-BQVpqCq9.js.map +0 -1
- package/dist/FileHooks-Cg9ver7z.js +0 -3478
- package/dist/FileHooks-Cg9ver7z.js.map +0 -1
- package/dist/FileMeta-G1oT3mYK.js.map +0 -1
- package/dist/RouterListItemButton-IUVgwnz3.js +0 -35
- package/dist/RouterListItemButton-IUVgwnz3.js.map +0 -1
- package/dist/compiler-runtime-BGHur82y.js +0 -46
- package/dist/compiler-runtime-BGHur82y.js.map +0 -1
- package/dist/env-gsqZ6zZD.js.map +0 -1
- package/dist/queryClient-CNvC95mU.js.map +0 -1
- package/dist/session-vW7WZadj.js.map +0 -1
- package/dist/utils-MD9YwOtu.js.map +0 -1
- /package/dist/{ApprovalStatus-BtAVFn5p.js → chunks/ApprovalStatus-BtAVFn5p.js} +0 -0
- /package/dist/{FileMeta-G1oT3mYK.js → chunks/FileMeta-G1oT3mYK.js} +0 -0
- /package/dist/{env-gsqZ6zZD.js → chunks/env-gsqZ6zZD.js} +0 -0
- /package/dist/{queryClient-CNvC95mU.js → chunks/queryClient-CNvC95mU.js} +0 -0
- /package/dist/{session-vW7WZadj.js → chunks/session-vW7WZadj.js} +0 -0
- /package/dist/{utils-MD9YwOtu.js → chunks/utils-MD9YwOtu.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileHooks-CF1bPDoe.js","sources":["../../src/queries/FileHooks.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport saveAs from \"file-saver\";\r\nimport { useState } from \"react\";\r\nimport { Upload as TusUpload } from \"tus-js-client\";\r\nimport { uuidv7 } from \"uuidv7\";\r\nimport z from \"zod\";\r\nimport type { DetailedError } from \"tus-js-client\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"file\";\r\nconst HOUR = 1000 * 60 * 60;\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, \"queryKey\" | \"queryFn\" | \"select\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, \"mutationFn\" | \"onSettled\">;\r\ntype BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, \"mutationFn\" | \"onSuccess\">;\r\ntype BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetFileMetasParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n subId: z.uuid(),\r\n});\r\n\r\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\r\n\r\nexport const useGetFileMetas = (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"subId\", params.subId);\r\n\r\n return useQuery<Array<FileMeta>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\r\n queryFn: ({ signal }) => httpClient.request<Array<FileMeta>>({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileThumbnailParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\r\n\r\nexport const useGetFileThumbnail = (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const GetFileParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\r\n\r\nexport const useGetFile = (params: GetFileParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const useDownloadFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)\r\n });\r\n};\r\n\r\nexport const useOpenFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n onSuccess: data => { window.open(URL.createObjectURL(data)); }\r\n });\r\n};\r\n\r\nexport const useUpdateFileMeta = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<FileMeta>({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\nexport const useDeleteFile = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<FileMeta>({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\r\n });\r\n};\r\n\r\nexport const useDeleteFiles = (options?: BaseStringMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<string, Error, string>({\r\n ...options,\r\n mutationFn: subId => httpClient.request<string>({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\ninterface UseUploadFileProps {\r\n subId: OptionalId;\r\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\r\n onError?: (error: Error | DetailedError) => void;\r\n}\r\n\r\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\r\n const [progress, setProgress] = useState<number>(0);\r\n const queryClient = useQueryClient();\r\n\r\n const mutate = async (file: File) => {\r\n if (!subId) throw new Error(\"subId is required for file upload\");\r\n\r\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\r\n id: uuidv7(),\r\n appName: APP_NAME,\r\n subId: subId,\r\n fileName: file.name,\r\n };\r\n\r\n const accessToken = \"YOUR_ACCESS_TOKEN_HERE\"; // Replace with actual token retrieval logic\r\n\r\n const upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_API_URL}/${QUERY_KEY}/v1/upload`,\r\n chunkSize: 1_048_576, // 1 MB\r\n metadata: {\r\n id: metadata.id,\r\n appName: metadata.appName,\r\n subId: metadata.subId,\r\n fileName: metadata.fileName,\r\n fileExtension: file.type\r\n },\r\n headers: { \"Authorization\": `Bearer ${accessToken}` },\r\n onError: (error) => {\r\n setProgress(0);\r\n onError?.(error);\r\n },\r\n onProgress: (bytesUploaded, bytesTotal) => {\r\n setProgress((bytesUploaded / bytesTotal) * 100);\r\n },\r\n onSuccess: () => {\r\n setProgress(0);\r\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\r\n onSuccess?.(metadata);\r\n },\r\n });\r\n\r\n const previousUploads = await upload.findPreviousUploads();\r\n if (previousUploads.length > 0) {\r\n upload.resumeFromPreviousUpload(previousUploads[0]);\r\n }\r\n\r\n upload.start();\r\n };\r\n\r\n return { mutate, progress };\r\n};\r\n"],"names":["QUERY_KEY","HOUR","APP_NAME","toKebabCase","clientEnv","VITE_APP_TITLE","z","object","appName","string","min","max","default","optional","subId","uuid","useGetFileMetas","params","options","$","_c","queryParams","URLSearchParams","append","t0","t1","t2","t3","signal","httpClient","request","url","toString","method","then","_temp","queryKey","queryFn","staleTime","gcTime","refetchOnWindowFocus","useQuery","meta","FileMetaSchema","nullish","useGetFileThumbnail","id","t4","responseType","_temp2","enabled","t5","select","_temp3","useGetFile","_temp4","_temp5","useDownloadFile","mutationFn","_temp7","onSuccess","_temp8","useMutation","useOpenFile","_temp0","_temp1","useUpdateFileMeta","queryClient","useQueryClient","invalidateQueries","exact","_temp11","onSettled","useDeleteFile","_temp13","useDeleteFiles","_temp15","useUploadFile","onError","progress","setProgress","useState","file","Error","metadata","uuidv7","fileName","name","upload","TusUpload","endpoint","VITE_API_URL","chunkSize","fileExtension","type","headers","error","onProgress","bytesUploaded","bytesTotal","previousUploads","findPreviousUploads","length","resumeFromPreviousUpload","start","mutate","data","URL","createObjectURL","_temp6","variables","saveAs","_temp9","window","open","_temp10","_temp12","_temp14"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileMeta-G1oT3mYK.js","sources":["../../src/models/file/FileMeta.ts"],"sourcesContent":["import * as z from \"zod\";\n\nexport const FileMetaSchema = z.object({\n id: z.uuid(),\n subId: z.uuid(),\n appName: z.string().trim().min(1).max(255),\n fileName: z.string().trim().min(1).max(255),\n fileExtension: z.string().trim().min(1).max(255),\n fileSize: z.number().min(0),\n mediaSubType: z.string().trim().min(1).max(255),\n mediaType: z.string().trim().min(1).max(255),\n mimeType: z.string().trim().min(1).max(255),\n createdBy: z.string().trim().min(1).max(255),\n createdDate: z.date(),\n});\n\nexport type FileMeta = z.infer<typeof FileMetaSchema>;\n"],"names":["FileMetaSchema","z","object","id","uuid","subId","appName","string","trim","min","max","fileName","fileExtension","fileSize","number","mediaSubType","mediaType","mimeType","createdBy","createdDate","date"],"mappings":";AAEO,MAAMA,iBAAiBC,EAAEC,OAAO;AAAA,EACnCC,IAAIF,EAAEG,KAAAA;AAAAA,EACNC,OAAOJ,EAAEG,KAAAA;AAAAA,EACTE,SAASL,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EACzCC,UAAUV,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC1CE,eAAeX,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC/CG,UAAUZ,EAAEa,SAASL,IAAI,CAAC;AAAA,EAC1BM,cAAcd,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC9CM,WAAWf,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC3CO,UAAUhB,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC1CQ,WAAWjB,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC3CS,aAAalB,EAAEmB,KAAAA;AACnB,CAAC;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { c } from "react/compiler-runtime";
|
|
3
|
+
import { ListItemButton } from "@mui/material";
|
|
4
|
+
import { createLink } from "@tanstack/react-router";
|
|
5
|
+
import React__default from "react";
|
|
6
|
+
const Component = React__default.forwardRef(function ButtonComponent(props, reference) {
|
|
7
|
+
const $ = c(3);
|
|
8
|
+
let t0;
|
|
9
|
+
if ($[0] !== props || $[1] !== reference) {
|
|
10
|
+
t0 = /* @__PURE__ */ jsx(ListItemButton, { ref: reference, component: "a", ...props });
|
|
11
|
+
$[0] = props;
|
|
12
|
+
$[1] = reference;
|
|
13
|
+
$[2] = t0;
|
|
14
|
+
} else {
|
|
15
|
+
t0 = $[2];
|
|
16
|
+
}
|
|
17
|
+
return t0;
|
|
18
|
+
});
|
|
19
|
+
const CreatedComponent = createLink(Component);
|
|
20
|
+
const RouterListItemButton = (props) => {
|
|
21
|
+
const $ = c(2);
|
|
22
|
+
let t0;
|
|
23
|
+
if ($[0] !== props) {
|
|
24
|
+
t0 = /* @__PURE__ */ jsx(CreatedComponent, { ...props });
|
|
25
|
+
$[0] = props;
|
|
26
|
+
$[1] = t0;
|
|
27
|
+
} else {
|
|
28
|
+
t0 = $[1];
|
|
29
|
+
}
|
|
30
|
+
return t0;
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
RouterListItemButton as R
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=RouterListItemButton-DTYXk1kh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterListItemButton-DTYXk1kh.js","sources":["../../src/components/router/RouterListItemButton.tsx"],"sourcesContent":["import { ListItemButton } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { ListItemButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, ListItemButtonProps<\"a\">>(function ButtonComponent(props, reference) {\n return <ListItemButton ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterListItemButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\n"],"names":["Component","React","forwardRef","ButtonComponent","props","reference","$","_c","t0","CreatedComponent","createLink","RouterListItemButton"],"mappings":";;;;;AAMA,MAAMA,YAAYC,eAAMC,WAAwD,SAAAC,gBAAAC,OAAAC,WAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,EAAA,CAAA,MAAAF,SAAAE,SAAAD,WAAA;AACrEG,6BAAC,gBAAA,EAAoBH,KAAAA,WAAqB,WAAA,KAAG,GAAKD,OAAK;AAAIE,WAAAF;AAAAE,WAAAD;AAAAC,WAAAE;AAAAA,EAAA,OAAA;AAAAA,SAAAF,EAAA,CAAA;AAAA,EAAA;AAAA,SAA3DE;AAA2D,CACrE;AAED,MAAMC,mBAAmBC,WAAWV,SAAS;AAEtC,MAAMW,uBAAwDP,CAAAA,UAAA;AAAA,QAAAE,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,SAAAF,OAAA;AAC1DI,SAAA,oBAAC,kBAAA,EAAgB,GAAKJ,MAAAA,CAAK;AAAIE,WAAAF;AAAAE,WAAAE;AAAAA,EAAA,OAAA;AAAAA,SAAAF,EAAA,CAAA;AAAA,EAAA;AAAA,SAA/BE;AAA+B;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-gsqZ6zZD.js","sources":["../../src/env.ts"],"sourcesContent":["import { createEnv } from \"@t3-oss/env-core\";\r\nimport { z } from \"zod\";\r\n\r\nexport const clientEnv = createEnv({\r\n clientPrefix: \"VITE_\",\r\n client: {\r\n VITE_APP_TITLE: z.string(),\r\n VITE_MUI_LICENSE_KEY: z.string(),\r\n VITE_API_URL: z.url(),\r\n },\r\n runtimeEnv: import.meta.env,\r\n emptyStringAsUndefined: true,\r\n});\r\n\r\nexport const serverEnv = createEnv({\r\n server: {\r\n NODE_ENV: z.enum([\"development\", \"testing\", \"staging\", \"production\"]),\r\n MICROSOFT_TENANT_ID: z.string(),\r\n MICROSOFT_CLIENT_ID: z.string(),\r\n MICROSOFT_CLIENT_SECRET: z.string(),\r\n MICROSOFT_REDIRECT_URI: z.url(),\r\n SESSION_SECRET: z.string(),\r\n },\r\n runtimeEnv: process.env,\r\n emptyStringAsUndefined: true,\r\n});\r\n"],"names":["clientEnv","createEnv","clientPrefix","client","VITE_APP_TITLE","z","string","VITE_MUI_LICENSE_KEY","VITE_API_URL","url","runtimeEnv","import","emptyStringAsUndefined","serverEnv","server","NODE_ENV","enum","MICROSOFT_TENANT_ID","MICROSOFT_CLIENT_ID","MICROSOFT_CLIENT_SECRET","MICROSOFT_REDIRECT_URI","SESSION_SECRET","process","env"],"mappings":";;;AAGO,MAAMA,YAAYC,UAAU;AAAA,EAC/BC,cAAc;AAAA,EACdC,QAAQ;AAAA,IACJC,gBAAgBC,EAAEC,OAAAA;AAAAA,IAClBC,sBAAsBF,EAAEC,OAAAA;AAAAA,IACxBE,cAAcH,EAAEI,IAAAA;AAAAA,EAAI;AAAA,EAExBC,YAAYC;AAAAA,EACZC,wBAAwB;AAC5B,CAAC;AAEM,MAAMC,YAAYZ,UAAU;AAAA,EAC/Ba,QAAQ;AAAA,IACJC,UAAUV,EAAEW,KAAK,CAAC,eAAe,WAAW,WAAW,YAAY,CAAC;AAAA,IACpEC,qBAAqBZ,EAAEC,OAAAA;AAAAA,IACvBY,qBAAqBb,EAAEC,OAAAA;AAAAA,IACvBa,yBAAyBd,EAAEC,OAAAA;AAAAA,IAC3Bc,wBAAwBf,EAAEI,IAAAA;AAAAA,IAC1BY,gBAAgBhB,EAAEC,OAAAA;AAAAA,EAAO;AAAA,EAE7BI,YAAYY,QAAQC;AAAAA,EACpBX,wBAAwB;AAC5B,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryClient-CNvC95mU.js","sources":["../../src/lib/queryClient.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/react-query\";\r\n\r\nexport const queryClient = new QueryClient();\r\n"],"names":["queryClient","QueryClient"],"mappings":";AAEO,MAAMA,cAAc,IAAIC,YAAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-vW7WZadj.js","sources":["../../src/lib/auth/entra.ts","../../src/models/User.ts","../../src/lib/auth/session.ts"],"sourcesContent":["import { MicrosoftEntraId } from \"arctic\";\r\nimport { serverEnv } from \"~/env\";\r\n\r\nexport const entraId = new MicrosoftEntraId(\r\n serverEnv.MICROSOFT_TENANT_ID,\r\n serverEnv.MICROSOFT_CLIENT_ID,\r\n serverEnv.MICROSOFT_CLIENT_SECRET,\r\n serverEnv.MICROSOFT_REDIRECT_URI,\r\n);\r\n","import * as z from \"zod\";\r\n\r\nexport const UserSchema = z.object({\r\n id: z.string(),\r\n name: z.string(),\r\n email: z.email(),\r\n groups: z.array(z.string()),\r\n});\r\n\r\nexport type User = z.infer<typeof UserSchema>;\r\n\r\nexport const GraphUserSchema = z.object({\r\n id: z.string(),\r\n displayName: z.string(),\r\n jobTitle: z.string(),\r\n mail: z.email(),\r\n mobilePhone: z.string(),\r\n});\r\n\r\nexport type GraphUser = z.infer<typeof GraphUserSchema>;\r\n","import { redirect } from \"@tanstack/react-router\";\r\nimport { deleteCookie, getCookie, setCookie } from \"@tanstack/react-start/server\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport z from \"zod\";\r\nimport jwksRsa from \"jwks-rsa\";\r\nimport { entraId } from \"./entra\";\r\nimport { serverEnv } from \"~/env\";\r\nimport { UserSchema } from \"~/models/User\";\r\n\r\nconst SESSION_COOKIE_NAME = \"session\";\r\nconst ACCESS_TOKEN_COOKIE_NAME = \"access_token\";\r\nconst AFTER_LOGIN_URL = \"/\";\r\n\r\nconst SessionSchema = z.object({\r\n refreshToken: z.string(),\r\n user: UserSchema.omit({ groups: true }),\r\n});\r\n\r\ntype Session = z.infer<typeof SessionSchema>;\r\n\r\nexport const requireSession = async (redirectUri?: string) => {\r\n const sessionCookie = getCookie(SESSION_COOKIE_NAME);\r\n if (!sessionCookie) {\r\n throw redirect({ href: `/api/auth/login?redirect_uri=${encodeURIComponent(redirectUri ?? AFTER_LOGIN_URL)}` });\r\n }\r\n\r\n const payloadRaw = jwt.verify(sessionCookie, serverEnv.SESSION_SECRET);\r\n const sessionResult = SessionSchema.safeParse(payloadRaw);\r\n if (!sessionResult.success) {\r\n deleteCookie(SESSION_COOKIE_NAME);\r\n throw redirect({ href: `/api/auth/login?redirect_uri=${encodeURIComponent(redirectUri ?? AFTER_LOGIN_URL)}` });\r\n }\r\n\r\n return sessionResult.data;\r\n};\r\n\r\nexport const getAccessToken = async () => {\r\n const accessTokenCookie = getCookie(ACCESS_TOKEN_COOKIE_NAME);\r\n if (accessTokenCookie) return accessTokenCookie;\r\n\r\n const session = await requireSession();\r\n\r\n const tokens = await entraId.refreshAccessToken(session.refreshToken, []);\r\n\r\n await setSessionCookie({\r\n ...session,\r\n refreshToken: tokens.refreshToken()\r\n });\r\n\r\n await setSessionAccessTokenCookie(tokens.accessToken());\r\n\r\n return tokens.accessToken();\r\n};\r\n\r\nexport const validateAccessToken = async (token: string): Promise<jwt.JwtPayload> => {\r\n const client = jwksRsa({\r\n cache: true,\r\n rateLimit: true,\r\n jwksRequestsPerMinute: 5,\r\n jwksUri: \"https://login.microsoftonline.com/common/discovery/v2.0/keys\",\r\n });\r\n\r\n const decodedHeader = jwt.decode(token, { complete: true });\r\n if (!decodedHeader?.header.kid) throw new Error(\"Invalid token: Missing kid\");\r\n\r\n const key = await client.getSigningKey(decodedHeader.header.kid);\r\n const signingKey = key.getPublicKey();\r\n\r\n const payload = jwt.verify(token, signingKey) as jwt.JwtPayload;\r\n\r\n if (typeof payload.iss !== \"string\" || !payload.iss.startsWith(\"https://login.microsoftonline.com/\"))\r\n throw new Error(\"Invalid issuer\");\r\n\r\n return payload;\r\n};\r\n\r\nexport const setSessionCookie = async (session: Session) => {\r\n const sessionJwt = jwt.sign(session, serverEnv.SESSION_SECRET, { expiresIn: \"7d\" });\r\n\r\n setCookie(SESSION_COOKIE_NAME, sessionJwt, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 7 * 24 * 60 * 60, // 7 days\r\n });\r\n};\r\n\r\nexport const setSessionAccessTokenCookie = async (accessToken: string) => {\r\n setCookie(ACCESS_TOKEN_COOKIE_NAME, accessToken, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 5 * 60, // 5 minutes\r\n });\r\n};\r\n"],"names":["entraId","MicrosoftEntraId","serverEnv","MICROSOFT_TENANT_ID","MICROSOFT_CLIENT_ID","MICROSOFT_CLIENT_SECRET","MICROSOFT_REDIRECT_URI","UserSchema","z","object","id","string","name","email","groups","array","displayName","jobTitle","mail","mobilePhone","SESSION_COOKIE_NAME","ACCESS_TOKEN_COOKIE_NAME","AFTER_LOGIN_URL","SessionSchema","refreshToken","user","omit","requireSession","redirectUri","sessionCookie","getCookie","redirect","href","encodeURIComponent","payloadRaw","jwt","verify","SESSION_SECRET","sessionResult","safeParse","success","deleteCookie","data","getAccessToken","accessTokenCookie","session","tokens","refreshAccessToken","setSessionCookie","setSessionAccessTokenCookie","accessToken","sessionJwt","sign","expiresIn","setCookie","secure","NODE_ENV","path","httpOnly","sameSite","maxAge"],"mappings":";;;;;;;;AAGO,MAAMA,UAAU,IAAIC,iBACvBC,UAAUC,qBACVD,UAAUE,qBACVF,UAAUG,yBACVH,UAAUI,sBACd;ACNO,MAAMC,aAAaC,EAAEC,OAAO;AAAA,EAC/BC,IAAIF,EAAEG,OAAAA;AAAAA,EACNC,MAAMJ,EAAEG,OAAAA;AAAAA,EACRE,OAAOL,EAAEK,MAAAA;AAAAA,EACTC,QAAQN,EAAEO,MAAMP,EAAEG,QAAQ;AAC9B,CAAC;AAI8BH,EAAEC,OAAO;AAAA,EACpCC,IAAIF,EAAEG,OAAAA;AAAAA,EACNK,aAAaR,EAAEG,OAAAA;AAAAA,EACfM,UAAUT,EAAEG,OAAAA;AAAAA,EACZO,MAAMV,EAAEK,MAAAA;AAAAA,EACRM,aAAaX,EAAEG,OAAAA;AACnB,CAAC;ACRD,MAAMS,sBAAsB;AAC5B,MAAMC,2BAA2B;AACjC,MAAMC,kBAAkB;AAExB,MAAMC,gBAAgBf,WAAEC,OAAO;AAAA,EAC3Be,cAAchB,WAAEG,OAAAA;AAAAA,EAChBc,MAAMlB,WAAWmB,KAAK;AAAA,IAAEZ,QAAQ;AAAA,EAAA,CAAM;AAC1C,CAAC;AAIM,MAAMa,iBAAiB,OAAOC,gBAAyB;AAC1D,QAAMC,gBAAgBC,UAAUV,mBAAmB;AACnD,MAAI,CAACS,eAAe;AAChB,UAAME,SAAS;AAAA,MAAEC,MAAM,gCAAgCC,mBAAmBL,eAAeN,eAAe,CAAC;AAAA,IAAA,CAAI;AAAA,EACjH;AAEA,QAAMY,aAAaC,IAAIC,OAAOP,eAAe3B,UAAUmC,cAAc;AACrE,QAAMC,gBAAgBf,cAAcgB,UAAUL,UAAU;AACxD,MAAI,CAACI,cAAcE,SAAS;AACxBC,iBAAarB,mBAAmB;AAChC,UAAMW,SAAS;AAAA,MAAEC,MAAM,gCAAgCC,mBAAmBL,eAAeN,eAAe,CAAC;AAAA,IAAA,CAAI;AAAA,EACjH;AAEA,SAAOgB,cAAcI;AACzB;AAEO,MAAMC,iBAAiB,YAAY;AACtC,QAAMC,oBAAoBd,UAAUT,wBAAwB;AAC5D,MAAIuB,kBAAmB,QAAOA;AAE9B,QAAMC,UAAU,MAAMlB,eAAAA;AAEtB,QAAMmB,SAAS,MAAM9C,QAAQ+C,mBAAmBF,QAAQrB,cAAc,EAAE;AAExE,QAAMwB,iBAAiB;AAAA,IACnB,GAAGH;AAAAA,IACHrB,cAAcsB,OAAOtB,aAAAA;AAAAA,EAAa,CACrC;AAED,QAAMyB,4BAA4BH,OAAOI,aAAa;AAEtD,SAAOJ,OAAOI,YAAAA;AAClB;AAwBO,MAAMF,mBAAmB,OAAOH,YAAqB;AACxD,QAAMM,aAAahB,IAAIiB,KAAKP,SAAS3C,UAAUmC,gBAAgB;AAAA,IAAEgB,WAAW;AAAA,EAAA,CAAM;AAElFC,YAAUlC,qBAAqB+B,YAAY;AAAA,IACvCI,QAAQrD,UAAUsD,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,IAAI,KAAK,KAAK;AAAA;AAAA,EAAA,CACzB;AACL;AAEO,MAAMX,8BAA8B,OAAOC,gBAAwB;AACtEI,YAAUjC,0BAA0B6B,aAAa;AAAA,IAC7CK,QAAQrD,UAAUsD,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,IAAI;AAAA;AAAA,EAAA,CACf;AACL;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-MD9YwOtu.js","sources":["../../src/lib/utils.ts"],"sourcesContent":["import axios from \"axios\";\r\nimport type { AnyFieldApi } from \"@tanstack/react-form\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nexport const WISTRON_PRIMARY_COLOR = \"#00506E\";\r\nexport const WISTRON_SECONDARY_COLOR = \"#64DC00\";\r\n\r\nexport class Platform {\r\n static get isAndroid() { return /android/i.test(this.userAgent); }\r\n static get isIOS() { return /iPad|iPhone|iPod/.test(this.userAgent); }\r\n static get isWindows() { return /windows/i.test(this.userAgent); }\r\n static get isMacOS() { return /Macintosh|MacIntel|MacPPC|Mac68K/.test(this.userAgent); }\r\n\r\n private static get userAgent() { return typeof navigator === \"undefined\" ? \"\" : navigator.userAgent; }\r\n}\r\n\r\nexport const rootRouteHead = () => ({\r\n meta: [\r\n { charSet: \"utf-8\" },\r\n { name: \"viewport\", content: \"width=device-width, initial-scale=1\" },\r\n { title: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:type\", content: \"website\" },\r\n { name: \"og:title\", content: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:image\", content: \"/favicon-32x32.png\" }\r\n ],\r\n links: [\r\n { rel: \"apple-touch-icon\", sizes: \"180x180\", href: \"/apple-touch-icon.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"32x32\", href: \"/favicon-32x32.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"16x16\", href: \"/favicon-16x16.png\", },\r\n { rel: \"manifest\", href: \"/manifest.webmanifest\" },\r\n { rel: \"icon\", href: \"/favicon.ico\" },\r\n ],\r\n});\r\n\r\nexport const httpClient = axios.create({\r\n baseURL: clientEnv.VITE_API_URL // TODO: Not working in children projects\r\n});\r\n\r\n/* Internal Utils */\r\nexport type FormOmittedProps =\r\n \"name\" |\r\n \"value\" |\r\n \"onChange\" |\r\n \"onBlur\" |\r\n \"error\" |\r\n \"helperText\" |\r\n \"renderInput\" |\r\n \"type\" |\r\n \"aria-label\";\r\n\r\nexport const getFieldStatus = (field: AnyFieldApi) => {\r\n const { meta } = field.state;\r\n\r\n const isTouched = meta.isTouched;\r\n const hasError = !!meta.errors.length;\r\n const helperText = meta.errors[0]?.message;\r\n\r\n return { isTouched, hasError, helperText };\r\n};\r\n\r\nexport const toKebabCase = (str: string): string => {\r\n return str\r\n .replaceAll(/([a-z])([A-Z])/g, \"$1-$2\")\r\n .replaceAll(/[\\s_]+/g, \"-\")\r\n .replaceAll(/[^a-zA-Z0-9-]/g, \"\")\r\n .toLowerCase()\r\n .replaceAll(/-+/g, \"-\")\r\n .replaceAll(/(^-|-$)/g, \"\");\r\n};\r\n"],"names":["WISTRON_PRIMARY_COLOR","WISTRON_SECONDARY_COLOR","Platform","isAndroid","test","userAgent","isIOS","isWindows","isMacOS","navigator","rootRouteHead","meta","charSet","name","content","title","clientEnv","VITE_APP_TITLE","links","rel","sizes","href","type","httpClient","axios","create","baseURL","VITE_API_URL","getFieldStatus","field","state","isTouched","hasError","errors","length","helperText","message","toKebabCase","str","replaceAll","toLowerCase"],"mappings":";;AAIO,MAAMA,wBAAwB;AAC9B,MAAMC,0BAA0B;AAEhC,MAAMC,SAAS;AAAA,EAClB,WAAWC,YAAY;AAAE,WAAO,WAAWC,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EACjE,WAAWC,QAAQ;AAAE,WAAO,mBAAmBF,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EACrE,WAAWE,YAAY;AAAE,WAAO,WAAWH,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EACjE,WAAWG,UAAU;AAAE,WAAO,mCAAmCJ,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EAEvF,WAAmBA,YAAY;AAAE,WAAO,OAAOI,cAAc,cAAc,KAAKA,UAAUJ;AAAAA,EAAW;AACzG;AAEO,MAAMK,gBAAgBA,OAAO;AAAA,EAChCC,MAAM,CACF;AAAA,IAAEC,SAAS;AAAA,EAAA,GACX;AAAA,IAAEC,MAAM;AAAA,IAAYC,SAAS;AAAA,EAAA,GAC7B;AAAA,IAAEC,OAAOC,UAAUC;AAAAA,EAAAA,GACnB;AAAA,IAAEJ,MAAM;AAAA,IAAWC,SAAS;AAAA,EAAA,GAC5B;AAAA,IAAED,MAAM;AAAA,IAAYC,SAASE,UAAUC;AAAAA,EAAAA,GACvC;AAAA,IAAEJ,MAAM;AAAA,IAAYC,SAAS;AAAA,EAAA,CAAsB;AAAA,EAEvDI,OAAO,CACH;AAAA,IAAEC,KAAK;AAAA,IAAoBC,OAAO;AAAA,IAAWC,MAAM;AAAA,EAAA,GACnD;AAAA,IAAEF,KAAK;AAAA,IAAQG,MAAM;AAAA,IAAaF,OAAO;AAAA,IAASC,MAAM;AAAA,EAAA,GACxD;AAAA,IAAEF,KAAK;AAAA,IAAQG,MAAM;AAAA,IAAaF,OAAO;AAAA,IAASC,MAAM;AAAA,EAAA,GACxD;AAAA,IAAEF,KAAK;AAAA,IAAYE,MAAM;AAAA,EAAA,GACzB;AAAA,IAAEF,KAAK;AAAA,IAAQE,MAAM;AAAA,EAAA,CAAgB;AAE7C;AAEO,MAAME,aAAaC,MAAMC,OAAO;AAAA,EACnCC,SAASV,UAAUW;AAAAA;AACvB,CAAC;AAcM,MAAMC,iBAAiBA,CAACC,UAAuB;AAClD,QAAM;AAAA,IAAElB;AAAAA,EAAAA,IAASkB,MAAMC;AAEvB,QAAMC,YAAYpB,KAAKoB;AACvB,QAAMC,WAAW,CAAC,CAACrB,KAAKsB,OAAOC;AAC/B,QAAMC,aAAaxB,KAAKsB,OAAO,CAAC,GAAGG;AAEnC,SAAO;AAAA,IAAEL;AAAAA,IAAWC;AAAAA,IAAUG;AAAAA,EAAAA;AAClC;AAEO,MAAME,cAAcA,CAACC,QAAwB;AAChD,SAAOA,IACFC,WAAW,mBAAmB,OAAO,EACrCA,WAAW,WAAW,GAAG,EACzBA,WAAW,kBAAkB,EAAE,EAC/BC,cACAD,WAAW,OAAO,GAAG,EACrBA,WAAW,YAAY,EAAE;AAClC;"}
|
package/dist/client.js
CHANGED