wcz-test 6.5.0 → 6.5.2

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/queries.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  useOpenFile,
12
12
  useUpdateFileMeta,
13
13
  useUploadFile
14
- } from "./chunk-NHG74N3M.js";
14
+ } from "./chunk-SIBFDHFS.js";
15
15
  import {
16
16
  ApprovalStatus,
17
17
  ApprovalStepResult
@@ -229,8 +229,11 @@ var useGetPeopleSoftCompanyGeneralManager = (companyCode, options) => {
229
229
 
230
230
  // src/queries/ApprovalHooks.ts
231
231
  import { useMutation, useQuery as useQuery2, useQueryClient } from "@tanstack/react-query";
232
+
233
+ // src/queries/Approval.ts
234
+ import { createIsomorphicFn } from "@tanstack/react-start";
232
235
  import z from "zod";
233
- var QUERY_KEY2 = "approval";
236
+ var ROUTE = "approval";
234
237
  var APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);
235
238
  var GetApprovalsParamsSchema = z.object({
236
239
  appName: z.string().min(1).max(255).default(APP_NAME).optional(),
@@ -238,98 +241,134 @@ var GetApprovalsParamsSchema = z.object({
238
241
  approverEmployeeId: z.string().min(1).max(20).optional(),
239
242
  stepResult: ApprovalStepResult.optional()
240
243
  });
241
- var useGetApprovals = (params, options) => {
244
+ var getApprovalsBase = async (params, signal) => {
242
245
  const queryParams = new URLSearchParams();
243
246
  queryParams.append("applicationName", params?.appName ?? APP_NAME);
244
247
  if (params?.status) queryParams.append("status", params.status.toString());
245
248
  if (params?.approverEmployeeId) queryParams.append("approverEmployeeId", params.approverEmployeeId);
246
249
  if (params?.stepResult) queryParams.append("stepResult", params.stepResult.toString());
247
- return useQuery2({
248
- ...options,
249
- queryKey: [QUERY_KEY2, params?.appName ?? APP_NAME, params?.status, params?.approverEmployeeId, params?.stepResult],
250
- queryFn: ({ signal }) => httpClient.request({
251
- url: `/${QUERY_KEY2}/Requests/Requests?${queryParams.toString()}`,
252
- method: "GET",
253
- signal
254
- })
250
+ const request = await httpClient.request({
251
+ url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,
252
+ method: "GET",
253
+ signal
255
254
  });
255
+ return request.data;
256
256
  };
257
- var useGetApproval = (id, options) => {
258
- return useQuery2({
259
- ...options,
260
- queryKey: [QUERY_KEY2, id],
261
- queryFn: ({ signal }) => httpClient.request({
262
- url: `/${QUERY_KEY2}/Requests/${id}`,
263
- method: "GET",
264
- signal
265
- })
257
+ var getApprovalBase = async (id, signal) => {
258
+ const request = await httpClient.request({
259
+ url: `/${ROUTE}/Requests/${id}`,
260
+ method: "GET",
261
+ signal
262
+ });
263
+ return request.data;
264
+ };
265
+ var createApprovalBase = async (data) => {
266
+ const request = await httpClient.request({
267
+ url: `/${ROUTE}/Requests`,
268
+ method: "POST",
269
+ data
270
+ });
271
+ return request.data;
272
+ };
273
+ var approveApprovalBase = async (data) => {
274
+ const request = await httpClient.request({
275
+ url: `/${ROUTE}/Requests/${data.id}/single-approval`,
276
+ method: "POST",
277
+ data
278
+ });
279
+ return request.data;
280
+ };
281
+ var resubmitApprovalBase = async (data) => {
282
+ const request = await httpClient.request({
283
+ url: `/${ROUTE}/Requests/${data.id}/resubmit`,
284
+ method: "POST",
285
+ data
286
+ });
287
+ return request.data;
288
+ };
289
+ var withdrawApprovalBase = async (data) => {
290
+ await httpClient.request({
291
+ url: `/${ROUTE}/Requests/${data.id}/withdraw`,
292
+ method: "POST",
293
+ data
266
294
  });
267
295
  };
296
+ var cancelApprovalBase = async (data) => {
297
+ await httpClient.request({
298
+ url: `/${ROUTE}/Requests/${data.id}/cancel`,
299
+ method: "POST",
300
+ data
301
+ });
302
+ };
303
+ var getApprovals = createIsomorphicFn().server(getApprovalsBase).client(getApprovalsBase);
304
+ var getApproval = createIsomorphicFn().server(getApprovalBase).client(getApprovalBase);
305
+ var createApproval = createIsomorphicFn().server(createApprovalBase).client(createApprovalBase);
306
+ var approveApproval = createIsomorphicFn().server(approveApprovalBase).client(approveApprovalBase);
307
+ var resubmitApproval = createIsomorphicFn().server(resubmitApprovalBase).client(resubmitApprovalBase);
308
+ var withdrawApproval = createIsomorphicFn().server(withdrawApprovalBase).client(withdrawApprovalBase);
309
+ var cancelApproval = createIsomorphicFn().server(cancelApprovalBase).client(cancelApprovalBase);
310
+
311
+ // src/queries/ApprovalHooks.ts
312
+ var useGetApprovals = (params, options) => useQuery2({
313
+ ...options,
314
+ queryKey: [ROUTE, params],
315
+ queryFn: ({ signal }) => getApprovals(params, signal)
316
+ });
317
+ var useGetApproval = (id, options) => useQuery2({
318
+ ...options,
319
+ queryKey: [ROUTE, id],
320
+ queryFn: ({ signal }) => getApproval(id, signal)
321
+ });
268
322
  var useCreateApproval = (options) => {
269
323
  const queryClient = useQueryClient();
270
324
  return useMutation({
271
325
  ...options,
272
- mutationFn: (data) => httpClient.request({
273
- url: `/${QUERY_KEY2}/Requests`,
274
- method: "POST",
275
- data
276
- }),
277
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
326
+ mutationFn: (data) => createApproval(data),
327
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
278
328
  });
279
329
  };
280
330
  var useApproveApproval = (options) => {
281
331
  const queryClient = useQueryClient();
282
332
  return useMutation({
283
333
  ...options,
284
- mutationFn: (data) => httpClient.request({
285
- url: `/${QUERY_KEY2}/Requests/${data.id}/single-approval`,
286
- method: "POST",
287
- data
288
- }),
289
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
334
+ mutationFn: (data) => approveApproval(data),
335
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
290
336
  });
291
337
  };
292
338
  var useResubmitApproval = (options) => {
293
339
  const queryClient = useQueryClient();
294
340
  return useMutation({
295
341
  ...options,
296
- mutationFn: (data) => httpClient.request({
297
- url: `/${QUERY_KEY2}/Requests/${data.id}/resubmit`,
298
- method: "POST",
299
- data
300
- }),
301
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
342
+ mutationFn: (data) => resubmitApproval(data),
343
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
302
344
  });
303
345
  };
304
346
  var useWithdrawApproval = (options) => {
305
347
  const queryClient = useQueryClient();
306
348
  return useMutation({
307
349
  ...options,
308
- mutationFn: (data) => httpClient.request({
309
- url: `/${QUERY_KEY2}/Requests/${data.id}/withdraw`,
310
- method: "POST",
311
- data
312
- }),
313
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
350
+ mutationFn: (data) => withdrawApproval(data),
351
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
314
352
  });
315
353
  };
316
354
  var useCancelApproval = (options) => {
317
355
  const queryClient = useQueryClient();
318
356
  return useMutation({
319
357
  ...options,
320
- mutationFn: (data) => httpClient.request({
321
- url: `/${QUERY_KEY2}/Requests/${data.id}/cancel`,
322
- method: "POST",
323
- data
324
- }),
325
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
358
+ mutationFn: (data) => cancelApproval(data),
359
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
326
360
  });
327
361
  };
328
362
  export {
329
- GetApprovalsParamsSchema,
330
363
  GetFileMetasParamsSchema,
331
364
  GetFileParamsSchema,
332
365
  GetFileThumbnailParamsSchema,
366
+ approveApproval,
367
+ cancelApproval,
368
+ createApproval,
369
+ getApproval,
370
+ getApprovals,
371
+ resubmitApproval,
333
372
  useApproveApproval,
334
373
  useCancelApproval,
335
374
  useCreateApproval,
@@ -359,6 +398,7 @@ export {
359
398
  useResubmitApproval,
360
399
  useUpdateFileMeta,
361
400
  useUploadFile,
362
- useWithdrawApproval
401
+ useWithdrawApproval,
402
+ withdrawApproval
363
403
  };
364
404
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"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({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport z from \"zod\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"approval\";\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetApprovalsParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n status: ApprovalStatus.optional(),\r\n approverEmployeeId: z.string().min(1).max(20).optional(),\r\n stepResult: ApprovalStepResult.optional()\r\n});\r\n\r\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\r\n\r\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\r\n if (params?.status) queryParams.append(\"status\", params.status.toString());\r\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\r\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\r\n\r\n return useQuery<Array<Approval>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params?.appName ?? APP_NAME, params?.status, params?.approverEmployeeId, params?.stepResult],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n });\r\n};\r\n\r\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => {\r\n return useQuery<Approval>({\r\n ...options,\r\n queryKey: [QUERY_KEY, id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${id}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n });\r\n};\r\n\r\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, CreateApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ApproveApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ResubmitApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, WithdrawApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, CancelApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n"],"mappings":"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","names":["useQuery","QUERY_KEY","useQuery"]}
1
+ {"version":3,"sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts","../src/queries/Approval.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({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { ROUTE, approveApproval, cancelApproval, createApproval, getApproval, getApprovals, resubmitApproval, withdrawApproval } from \"./Approval\";\r\nimport type { GetApprovalsParams } from \"./Approval\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\n\r\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) =>\r\n useQuery<Array<Approval>>({\r\n ...options,\r\n queryKey: [ROUTE, params],\r\n queryFn: ({ signal }) => getApprovals(params, signal),\r\n });\r\n\r\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => useQuery<Approval>({\r\n ...options,\r\n queryKey: [ROUTE, id],\r\n queryFn: ({ signal }) => getApproval(id, signal),\r\n});\r\n\r\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, CreateApproval>({\r\n ...options,\r\n mutationFn: data => createApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ApproveApproval>({\r\n ...options,\r\n mutationFn: data => approveApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ResubmitApproval>({\r\n ...options,\r\n mutationFn: data => resubmitApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, WithdrawApproval>({\r\n ...options,\r\n mutationFn: data => withdrawApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, CancelApproval>({\r\n ...options,\r\n mutationFn: data => cancelApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n","import { createIsomorphicFn } from \"@tanstack/react-start\";\r\nimport z from \"zod\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\nimport { clientEnv } from \"~/env\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\n\r\nexport const ROUTE = \"approval\";\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\nconst GetApprovalsParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n status: ApprovalStatus.optional(),\r\n approverEmployeeId: z.string().min(1).max(20).optional(),\r\n stepResult: ApprovalStepResult.optional()\r\n});\r\n\r\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\r\n\r\nconst getApprovalsBase = async (params?: GetApprovalsParams, signal?: AbortSignal) => {\r\n const queryParams = new URLSearchParams();\r\n\r\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\r\n if (params?.status) queryParams.append(\"status\", params.status.toString());\r\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\r\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\r\n\r\n const request = await httpClient.request<Array<Approval>>({\r\n url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst getApprovalBase = async (id: string, signal?: AbortSignal) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${id}`,\r\n method: \"GET\",\r\n signal,\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst createApprovalBase = async (data: CreateApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst approveApprovalBase = async (data: ApproveApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst resubmitApprovalBase = async (data: ResubmitApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst withdrawApprovalBase = async (data: WithdrawApproval) => {\r\n await httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data\r\n });\r\n};\r\n\r\nconst cancelApprovalBase = async (data: CancelApproval) => {\r\n await httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data\r\n });\r\n};\r\n\r\nexport const getApprovals = createIsomorphicFn().server(getApprovalsBase).client(getApprovalsBase);\r\nexport const getApproval = createIsomorphicFn().server(getApprovalBase).client(getApprovalBase);\r\nexport const createApproval = createIsomorphicFn().server(createApprovalBase).client(createApprovalBase);\r\nexport const approveApproval = createIsomorphicFn().server(approveApprovalBase).client(approveApprovalBase);\r\nexport const resubmitApproval = createIsomorphicFn().server(resubmitApprovalBase).client(resubmitApprovalBase);\r\nexport const withdrawApproval = createIsomorphicFn().server(withdrawApprovalBase).client(withdrawApprovalBase);\r\nexport const cancelApproval = createIsomorphicFn().server(cancelApprovalBase).client(cancelApprovalBase);\r\n"],"mappings":"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","names":["useQuery","useQuery"]}
@@ -1,20 +1,13 @@
1
1
  import {
2
- serverEnv
3
- } from "./chunk-MZYWQKGY.js";
2
+ db
3
+ } from "./chunk-O7U2PUIW.js";
4
+ import "./chunk-MZYWQKGY.js";
4
5
  import "./chunk-5WRI5ZAA.js";
5
6
 
6
7
  // src/server-utils.ts
7
- import { Pool as Pool2 } from "pg";
8
-
9
- // src/lib/db/index.ts
10
- import { drizzle } from "drizzle-orm/node-postgres";
11
8
  import { Pool } from "pg";
12
- var pool = new Pool({
13
- connectionString: serverEnv.DATABASE_URL
14
- });
15
- var db = drizzle(pool);
16
9
  export {
17
- Pool2 as Pool,
10
+ Pool,
18
11
  db
19
12
  };
20
13
  //# sourceMappingURL=server-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server-utils.ts","../src/lib/db/index.ts"],"sourcesContent":["// PostgreSQL\r\nexport { Pool } from \"pg\";\r\n\r\n// Database\r\nexport { db } from \"./lib/db/index\";\r\n\r\n","import { drizzle } from \"drizzle-orm/node-postgres\";\r\nimport { Pool } from \"pg\";\r\nimport { serverEnv } from \"~/env\";\r\n\r\nconst pool: Pool = new Pool({\r\n connectionString: serverEnv.DATABASE_URL,\r\n});\r\n\r\nexport const db = drizzle(pool);"],"mappings":";;;;;;AACA,SAAS,QAAAA,aAAY;;;ACDrB,SAAS,eAAe;AACxB,SAAS,YAAY;AAGrB,IAAM,OAAa,IAAI,KAAK;AAAA,EACxB,kBAAkB,UAAU;AAChC,CAAC;AAEM,IAAM,KAAK,QAAQ,IAAI;","names":["Pool"]}
1
+ {"version":3,"sources":["../src/server-utils.ts"],"sourcesContent":["// PostgreSQL\r\nexport { Pool } from \"pg\";\r\n\r\n// Database\r\nexport { db } from \"./lib/db/index\";\r\n\r\n"],"mappings":";;;;;;;AACA,SAAS,YAAY;","names":[]}
@@ -1,6 +1,4 @@
1
1
  import * as axios from 'axios';
2
- import 'uuidv7';
3
- import '@t3-oss/env-core';
4
2
 
5
3
  declare class Platform {
6
4
  static get isAndroid(): boolean;
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,40 @@
1
- export { h as httpClient } from './utils-ChipkRJ9.js';
1
+ export { h as httpClient } from './utils-DLRiZ02r.js';
2
2
  export { uuidv7 } from 'uuidv7';
3
3
  export { createEnv } from '@t3-oss/env-core';
4
+ import * as better_call from 'better-call';
5
+ import * as better_auth_adapters from 'better-auth/adapters';
6
+ import * as better_auth from 'better-auth';
4
7
  import 'axios';
8
+
9
+ declare const auth: better_auth.Auth<{
10
+ database: (options: better_auth.BetterAuthOptions) => better_auth_adapters.DBAdapter<better_auth.BetterAuthOptions>;
11
+ session: {
12
+ cookieCache: {
13
+ enabled: true;
14
+ maxAge: number;
15
+ };
16
+ };
17
+ socialProviders: {
18
+ microsoft: {
19
+ clientId: string;
20
+ clientSecret: string;
21
+ };
22
+ };
23
+ plugins: [{
24
+ id: "react-start-cookies";
25
+ hooks: {
26
+ after: {
27
+ matcher(ctx: better_call.EndpointContext<string, any> & Omit<better_call.InputContext<string, any>, "method"> & {
28
+ context: better_auth.AuthContext & {
29
+ returned?: unknown;
30
+ responseHeaders?: Headers;
31
+ };
32
+ headers?: Headers;
33
+ }): true;
34
+ handler: (inputContext: better_call.MiddlewareInputContext<better_call.MiddlewareOptions>) => Promise<void>;
35
+ }[];
36
+ };
37
+ }];
38
+ }>;
39
+
40
+ export { auth };
package/dist/utils.js CHANGED
@@ -1,13 +1,95 @@
1
1
  import {
2
2
  httpClient
3
3
  } from "./chunk-T723TJ46.js";
4
- import "./chunk-MZYWQKGY.js";
4
+ import {
5
+ db
6
+ } from "./chunk-O7U2PUIW.js";
7
+ import {
8
+ serverEnv
9
+ } from "./chunk-MZYWQKGY.js";
5
10
  import "./chunk-5WRI5ZAA.js";
6
11
 
7
12
  // src/utils.ts
8
13
  import { uuidv7 } from "uuidv7";
9
14
  import { createEnv } from "@t3-oss/env-core";
15
+
16
+ // src/lib/auth/auth.ts
17
+ import { betterAuth } from "better-auth";
18
+ import { drizzleAdapter } from "better-auth/adapters/drizzle";
19
+ import { reactStartCookies } from "better-auth/react-start";
20
+
21
+ // src/lib/db/schema/auth.ts
22
+ import { boolean, pgTable, text, timestamp } from "drizzle-orm/pg-core";
23
+ var user = pgTable("user", {
24
+ id: text("id").primaryKey(),
25
+ name: text("name").notNull(),
26
+ email: text("email").notNull().unique(),
27
+ emailVerified: boolean("email_verified").default(false).notNull(),
28
+ image: text("image"),
29
+ createdAt: timestamp("created_at").defaultNow().notNull(),
30
+ updatedAt: timestamp("updated_at").defaultNow().$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
31
+ });
32
+ var session = pgTable("session", {
33
+ id: text("id").primaryKey(),
34
+ expiresAt: timestamp("expires_at").notNull(),
35
+ token: text("token").notNull().unique(),
36
+ createdAt: timestamp("created_at").defaultNow().notNull(),
37
+ updatedAt: timestamp("updated_at").$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
38
+ ipAddress: text("ip_address"),
39
+ userAgent: text("user_agent"),
40
+ userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" })
41
+ });
42
+ var account = pgTable("account", {
43
+ id: text("id").primaryKey(),
44
+ accountId: text("account_id").notNull(),
45
+ providerId: text("provider_id").notNull(),
46
+ userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
47
+ accessToken: text("access_token"),
48
+ refreshToken: text("refresh_token"),
49
+ idToken: text("id_token"),
50
+ accessTokenExpiresAt: timestamp("access_token_expires_at"),
51
+ refreshTokenExpiresAt: timestamp("refresh_token_expires_at"),
52
+ scope: text("scope"),
53
+ password: text("password"),
54
+ createdAt: timestamp("created_at").defaultNow().notNull(),
55
+ updatedAt: timestamp("updated_at").$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
56
+ });
57
+ var verification = pgTable("verification", {
58
+ id: text("id").primaryKey(),
59
+ identifier: text("identifier").notNull(),
60
+ value: text("value").notNull(),
61
+ expiresAt: timestamp("expires_at").notNull(),
62
+ createdAt: timestamp("created_at").defaultNow().notNull(),
63
+ updatedAt: timestamp("updated_at").defaultNow().$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
64
+ });
65
+
66
+ // src/lib/auth/auth.ts
67
+ var auth = betterAuth({
68
+ database: drizzleAdapter(db, {
69
+ provider: "pg",
70
+ schema: {
71
+ user,
72
+ session,
73
+ account,
74
+ verification
75
+ }
76
+ }),
77
+ session: {
78
+ cookieCache: {
79
+ enabled: true,
80
+ maxAge: 5 * 60
81
+ }
82
+ },
83
+ socialProviders: {
84
+ microsoft: {
85
+ clientId: serverEnv.MICROSOFT_CLIENT_ID,
86
+ clientSecret: serverEnv.MICROSOFT_CLIENT_SECRET
87
+ }
88
+ },
89
+ plugins: [reactStartCookies()]
90
+ });
10
91
  export {
92
+ auth,
11
93
  createEnv,
12
94
  httpClient,
13
95
  uuidv7
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.ts"],"sourcesContent":["export { httpClient } from \"./lib/utils\";\r\nexport { uuidv7 } from \"uuidv7\";\r\nexport { createEnv } from \"@t3-oss/env-core\";\r\n"],"mappings":";;;;;;;AACA,SAAS,cAAc;AACvB,SAAS,iBAAiB;","names":[]}
1
+ {"version":3,"sources":["../src/utils.ts","../src/lib/auth/auth.ts","../src/lib/db/schema/auth.ts"],"sourcesContent":["export { httpClient } from \"./lib/utils\";\r\nexport { uuidv7 } from \"uuidv7\";\r\nexport { createEnv } from \"@t3-oss/env-core\";\r\nexport { auth } from \"./lib/auth/auth\";\r\n","import { betterAuth } from \"better-auth\";\r\nimport { drizzleAdapter } from \"better-auth/adapters/drizzle\";\r\nimport { reactStartCookies } from \"better-auth/react-start\";\r\nimport { db } from \"../db\";\r\nimport { account, session, user, verification } from \"../db/schema/auth\";\r\nimport { serverEnv } from \"~/env\";\r\n\r\nexport const auth = betterAuth({\r\n database: drizzleAdapter(db, {\r\n provider: \"pg\",\r\n schema: {\r\n user,\r\n session,\r\n account,\r\n verification\r\n }\r\n }),\r\n session: {\r\n cookieCache: {\r\n enabled: true,\r\n maxAge: 5 * 60,\r\n },\r\n },\r\n socialProviders: {\r\n microsoft: {\r\n clientId: serverEnv.MICROSOFT_CLIENT_ID,\r\n clientSecret: serverEnv.MICROSOFT_CLIENT_SECRET\r\n }\r\n },\r\n plugins: [reactStartCookies()]\r\n});\r\n","import { boolean, pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\n\nexport const user = pgTable(\"user\", {\n id: text(\"id\").primaryKey(),\n name: text(\"name\").notNull(),\n email: text(\"email\").notNull().unique(),\n emailVerified: boolean(\"email_verified\").default(false).notNull(),\n image: text(\"image\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .defaultNow()\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n\nexport const session = pgTable(\"session\", {\n id: text(\"id\").primaryKey(),\n expiresAt: timestamp(\"expires_at\").notNull(),\n token: text(\"token\").notNull().unique(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n ipAddress: text(\"ip_address\"),\n userAgent: text(\"user_agent\"),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n});\n\nexport const account = pgTable(\"account\", {\n id: text(\"id\").primaryKey(),\n accountId: text(\"account_id\").notNull(),\n providerId: text(\"provider_id\").notNull(),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n accessToken: text(\"access_token\"),\n refreshToken: text(\"refresh_token\"),\n idToken: text(\"id_token\"),\n accessTokenExpiresAt: timestamp(\"access_token_expires_at\"),\n refreshTokenExpiresAt: timestamp(\"refresh_token_expires_at\"),\n scope: text(\"scope\"),\n password: text(\"password\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n\nexport const verification = pgTable(\"verification\", {\n id: text(\"id\").primaryKey(),\n identifier: text(\"identifier\").notNull(),\n value: text(\"value\").notNull(),\n expiresAt: timestamp(\"expires_at\").notNull(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .defaultNow()\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wcz-test",
3
- "version": "6.5.0",
3
+ "version": "6.5.2",
4
4
  "private": false,
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- {"version":3,"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({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\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,\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({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: 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,\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({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: 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({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }),\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({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }),\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 upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_BASE_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 ${await getToken()}` }, //TODO: implement token retrieval\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"],"mappings":"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","names":[]}