Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/components/admin/RoleConfigTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ import {
AccessLevels,
type GroupRole,
type GroupRoleAccessLevel,
type RoleConfigInput,
type RoleConfigRequest,
} from "@/types/group";
import { Skeleton } from "@/components/ui/skeleton";
import { getRoleConfigs } from "@/lib/request/getRoleConfigs";
Expand Down Expand Up @@ -134,7 +134,7 @@ export default function RoleConfigTable() {
>("");

const createMutation = useMutation({
mutationFn: (payload: RoleConfigInput) => createRoleConfig(payload),
mutationFn: (payload: RoleConfigRequest) => createRoleConfig(payload),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ROLE_CONFIGS_QUERY_KEY });
toast.success(t("roleConfigTable.createSuccessToast"));
Expand All @@ -150,7 +150,7 @@ export default function RoleConfigTable() {
});

const updateMutation = useMutation({
mutationFn: ({ id, payload }: { id: string; payload: RoleConfigInput }) =>
mutationFn: ({ id, payload }: { id: string; payload: RoleConfigRequest }) =>
updateRoleConfig(id, payload),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ROLE_CONFIGS_QUERY_KEY });
Expand Down
8 changes: 4 additions & 4 deletions src/components/admin/UserConfigRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import {
import {
GLOBAL_ROLE_OPTIONS,
GlobalRoleNotSetup,
type UpdateUserRoleInput,
type UpdateUserRoleRequest,
type GlobalRole,
} from "@/types/admin";
import { useTranslation } from "react-i18next";
Expand All @@ -46,7 +46,7 @@ type Props = {
email: string;
linuxUsername: string;
currentRole: GlobalRole;
onUpdateRole: (newRole: UpdateUserRoleInput["role"]) => void;
onUpdateRole: (newRole: UpdateUserRoleRequest["role"]) => void;
onUpdateLinuxUsername: (
newUsername: string,
options?: { onSettled?: () => void },
Expand Down Expand Up @@ -212,7 +212,7 @@ export default function UserConfigRow({
key={role.id}
checked={role.id === currentRole}
onCheckedChange={() =>
onUpdateRole(role.id as UpdateUserRoleInput["role"])
onUpdateRole(role.id as UpdateUserRoleRequest["role"])
}
>
{role.label}
Expand Down Expand Up @@ -377,7 +377,7 @@ export function UserConfigMobileRow({
value={currentRole}
disabled={isPending}
onValueChange={(value) =>
onUpdateRole(value as UpdateUserRoleInput["role"])
onUpdateRole(value as UpdateUserRoleRequest["role"])
}
>
<SelectTrigger
Expand Down
13 changes: 7 additions & 6 deletions src/components/admin/UserConfigTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ import { getUsers } from "@/lib/request/getUsers";
import {
GLOBAL_ROLE_OPTIONS,
type GlobalRole,
UpdateLinuxUsernameInput,
type UpdateUserRoleInput,
UpdateLinuxUsernameRequest,
type UpdateUserRoleRequest,
} from "@/types/admin";

export default function UserConfigTable() {
Expand Down Expand Up @@ -75,7 +75,8 @@ export default function UserConfigTable() {
isPending: isUpdatingUsername,
variables: usernameVariables,
} = useMutation({
mutationFn: (input: UpdateLinuxUsernameInput) => updateLinuxUsername(input),
mutationFn: (request: UpdateLinuxUsernameRequest) =>
updateLinuxUsername(request),
onMutate: (input) => {
const toastId = `update-linux-username-${input.id}`;
toast.loading(t("common.updating"), {
Expand All @@ -97,7 +98,7 @@ export default function UserConfigTable() {
});
const handleUsernameUpdate = (
userId: string,
newUsername: UpdateLinuxUsernameInput["linuxUsername"],
newUsername: UpdateLinuxUsernameRequest["linuxUsername"],
options?: { onSettled?: () => void },
) => {
updateUsername(
Expand All @@ -114,7 +115,7 @@ export default function UserConfigTable() {
isPending: isUpdatingRole,
variables: roleVariables,
} = useMutation({
mutationFn: (input: UpdateUserRoleInput) => updateGlobalRole(input),
mutationFn: (request: UpdateUserRoleRequest) => updateGlobalRole(request),
onMutate: (input) => {
const toastId = `update-global-role-${input.id}`;
toast.loading(t("common.updating"), {
Expand All @@ -135,7 +136,7 @@ export default function UserConfigTable() {

const handleRoleUpdate = (
userId: string,
newRole: UpdateUserRoleInput["role"],
newRole: UpdateUserRoleRequest["role"],
) => {
updateRole({ id: userId, role: newRole });
};
Expand Down
4 changes: 2 additions & 2 deletions src/components/jobs/JobSubmitForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next";
import { CircleCheckBig, ArrowRight } from "lucide-react";
import { useMutation, useQuery } from "@tanstack/react-query";
import { createJob, getPartitions } from "@/lib/request/jobs";
import type { JobCreatePayload, Job } from "@/lib/request/jobs";
import type { CreateJobRequest, Job } from "@/lib/request/jobs";

// ui components
import { Label } from "@/components/ui/label";
Expand Down Expand Up @@ -242,7 +242,7 @@ export default function JobSubmitForm() {
.filter((ev) => ev.key.trim() !== "")
.map((ev) => `${ev.key}=${ev.value ?? ""}`);

const payload: JobCreatePayload = {
const payload: CreateJobRequest = {
name: formData.jobName,
comment: formData.comment,
current_working_directory: formData.cwd,
Expand Down
6 changes: 3 additions & 3 deletions src/components/resource/AddResourceSheet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { toast } from "sonner";
import { createServer, serverQueryKeys } from "@/lib/request/resources";
import { getErrMessage } from "@/lib/errors";
import ResourceFormFields from "@/components/resource/ResourceFormFields";
import type { CreateResourceInput, ResourceFormData } from "@/types/resource";
import type { CreateResourceRequest, ResourceFormData } from "@/types/resource";

const emptyResourceFormData: ResourceFormData = {
ansible_name: "",
Expand Down Expand Up @@ -75,11 +75,11 @@ export default function AddResourceSheet() {
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();

const payload: CreateResourceInput = {
const payload: CreateResourceRequest = {
ansible_name: formData.ansible_name,
ssh_user: formData.ssh_user,
ansible_role:
formData.ansible_role as CreateResourceInput["ansible_role"],
formData.ansible_role as CreateResourceRequest["ansible_role"],
ip_address: formData.ip_address || undefined,
ssh_config_host: formData.ssh_config_host || undefined,
private_ip: formData.private_ip || undefined,
Expand Down
5 changes: 3 additions & 2 deletions src/hooks/useAddMember.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query";
import { addMember } from "@/lib/request/addMember";
import { toast } from "sonner";
import { useTranslation } from "react-i18next";
import type { AddGroupMemberInput, AddMembersResult } from "@/types/group";
import type { AddGroupMemberRequest, AddMembersResult } from "@/types/group";
import { ApiError } from "@/types/generic";

export type UseAddMemberOptions = {
Expand All @@ -15,7 +15,8 @@ export function useAddMember(groupId: string, options?: UseAddMemberOptions) {
const { t } = useTranslation();

return useMutation({
mutationFn: (members: AddGroupMemberInput[]) => addMember(groupId, members),
mutationFn: (members: AddGroupMemberRequest[]) =>
addMember(groupId, members),

onSuccess: async (data, variables) => {
const { addedSuccessNumber, addedFailureNumber } = data;
Expand Down
4 changes: 2 additions & 2 deletions src/hooks/useRemovePendingMember.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { removePendingMember } from "@/lib/request/groupPendingMembers";
import type { RemovePendingMemberParams } from "@/types/group";
import type { RemovePendingMemberRequest } from "@/types/group";
import { toast } from "sonner";
import { useTranslation } from "react-i18next";

Expand All @@ -9,7 +9,7 @@ export function useRemovePendingMember(groupId: string) {
const { t } = useTranslation();

return useMutation({
mutationFn: (params: RemovePendingMemberParams) =>
mutationFn: (params: RemovePendingMemberRequest) =>
removePendingMember(params),
onMutate: (params) => {
const toastId = `remove-pending-${groupId}-${String(params.id)}`;
Expand Down
4 changes: 2 additions & 2 deletions src/hooks/useUpdateMember.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { updateMember } from "@/lib/request/updateMember";
import type { UpdateGroupMemberInput } from "@/types/group";
import type { UpdateGroupMemberRequest } from "@/types/group";
import { toast } from "sonner";
import { useTranslation } from "react-i18next";

Expand All @@ -9,7 +9,7 @@ export function useUpdateMember(groupId: string) {
const { t } = useTranslation();

return useMutation({
mutationFn: (params: UpdateGroupMemberInput) => updateMember(params),
mutationFn: (params: UpdateGroupMemberRequest) => updateMember(params),
onMutate: (params) => {
const toastId = `update-member-${groupId}-${String(params.memberId)}`;
toast.loading(t("common.updating"), { id: toastId });
Expand Down
4 changes: 2 additions & 2 deletions src/hooks/useUpdatePendingMember.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { updatePendingMember } from "@/lib/request/groupPendingMembers";
import type { UpdatePendingMemberInput } from "@/types/group";
import type { UpdatePendingMemberRequest } from "@/types/group";
import { toast } from "sonner";
import { useTranslation } from "react-i18next";

Expand All @@ -9,7 +9,7 @@ export function useUpdatePendingMember(groupId: string) {
const { t } = useTranslation();

return useMutation({
mutationFn: (params: UpdatePendingMemberInput) =>
mutationFn: (params: UpdatePendingMemberRequest) =>
updatePendingMember(params),
onMutate: (params) => {
const toastId = `update-pending:${groupId}:${String(params.id)}`;
Expand Down
4 changes: 2 additions & 2 deletions src/lib/request/addMember.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import {
// AccessLevelOwner,
// AccessLevelUser,
type AddGroupMemberInput,
type AddGroupMemberRequest,
type AddMembersResult,
} from "@/types/group";
import { api } from "@/lib/request/api";

export async function addMember(
groupId: string,
members: AddGroupMemberInput[],
members: AddGroupMemberRequest[],
): Promise<AddMembersResult> {
return api(`/api/groups/${groupId}/members`, {
method: "POST",
Expand Down
4 changes: 2 additions & 2 deletions src/lib/request/createGroup.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { api } from "@/lib/request/api";
import type { CreateGroupInput, CreateGroupResponse } from "@/types/group";
import type { CreateGroupRequest, CreateGroupResponse } from "@/types/group";

export async function createGroup(
payload: CreateGroupInput,
payload: CreateGroupRequest,
): Promise<CreateGroupResponse> {
return api("/api/groups", {
method: "POST",
Expand Down
4 changes: 2 additions & 2 deletions src/lib/request/createModule.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { api } from "./api";
import { EnvironmentModule, EnvironmentVariable } from "./getModules";

export interface CreateModulePayload {
export interface CreateModuleRequest {
title: string;
environment: EnvironmentVariable[];
}

export async function createModule(
payload: CreateModulePayload,
payload: CreateModuleRequest,
): Promise<EnvironmentModule> {
return api<EnvironmentModule>("/api/modules", {
method: "POST",
Expand Down
4 changes: 2 additions & 2 deletions src/lib/request/createRoleConfig.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { api } from "@/lib/request/api";
import type { GroupRole, RoleConfigInput } from "@/types/group";
import type { GroupRole, RoleConfigRequest } from "@/types/group";

export async function createRoleConfig(
payload: RoleConfigInput,
payload: RoleConfigRequest,
): Promise<GroupRole[]> {
return api("/api/roles", {
method: "POST",
Expand Down
4 changes: 2 additions & 2 deletions src/lib/request/getUsers.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { api } from "@/lib/request/api";
import type { GetUsersParams, GetUsersResponse } from "@/types/admin";
import type { GetUsersRequest, GetUsersResponse } from "@/types/admin";

export async function getUsers(
params: GetUsersParams,
params: GetUsersRequest,
): Promise<GetUsersResponse> {
const { page = 0, size = 20, search, role, sort, sortBy } = params;

Expand Down
6 changes: 3 additions & 3 deletions src/lib/request/groupLinks.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { api } from "@/lib/request/api";
import type { GroupLinkPayload, GroupLinkResponse } from "@/types/group";
import type { GroupLinkRequest, GroupLinkResponse } from "@/types/group";

// 🔸 Create Link
export async function createGroupLink({
groupId,
payload,
}: {
groupId: string;
payload: GroupLinkPayload;
payload: GroupLinkRequest;
}): Promise<GroupLinkResponse> {
return api(`/api/groups/${groupId}/link`, {
method: "POST",
Expand All @@ -19,7 +19,7 @@ export async function createGroupLink({
export async function updateGroupLink(
groupId: string,
linkId: string,
payload: GroupLinkPayload,
payload: GroupLinkRequest,
): Promise<GroupLinkResponse> {
return api(`/api/groups/${groupId}/link/${linkId}`, {
method: "PUT",
Expand Down
8 changes: 4 additions & 4 deletions src/lib/request/groupPendingMembers.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { api } from "@/lib/request/api";
import type {
GetPendingMembersResponse,
RemovePendingMemberParams,
UpdatePendingMemberInput,
RemovePendingMemberRequest,
UpdatePendingMemberRequest,
UpdatePendingMemberResponse,
} from "@/types/group";

Expand All @@ -19,7 +19,7 @@ export async function updatePendingMember({
id,
pendingId,
roleId,
}: UpdatePendingMemberInput): Promise<UpdatePendingMemberResponse> {
}: UpdatePendingMemberRequest): Promise<UpdatePendingMemberResponse> {
return api(`/api/groups/${id}/pendingMembers/${pendingId}`, {
method: "PUT",
body: JSON.stringify({ roleId }),
Expand All @@ -30,7 +30,7 @@ export async function updatePendingMember({
export async function removePendingMember({
id,
pendingId,
}: RemovePendingMemberParams): Promise<void> {
}: RemovePendingMemberRequest): Promise<void> {
return api(`/api/groups/${id}/pendingMembers/${pendingId}`, {
method: "DELETE",
});
Expand Down
8 changes: 4 additions & 4 deletions src/lib/request/jobs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export type Partitions = {
};

// body of POST /api/jobs
export type JobCreatePayload = {
export type CreateJobRequest = {
name?: string;
comment?: string;
current_working_directory?: string;
Expand All @@ -68,7 +68,7 @@ export type JobCreatePayload = {
standard_error?: string;
};

export type GetJobsParams = {
export type GetJobsRequest = {
page?: number;
size?: number;
sort?: "asc" | "desc";
Expand All @@ -78,7 +78,7 @@ export type GetJobsParams = {
};

// GET /api/jobs
export async function getJobs(params?: GetJobsParams): Promise<JobsPage> {
export async function getJobs(params?: GetJobsRequest): Promise<JobsPage> {
const q = new URLSearchParams();
if (params?.page != null) q.set("page", String(params.page));
if (params?.size != null) q.set("size", String(params.size));
Expand All @@ -105,7 +105,7 @@ export async function getPartitions(): Promise<Partitions> {
}

// POST /api/jobs
export async function createJob(payload: JobCreatePayload): Promise<Job> {
export async function createJob(payload: CreateJobRequest): Promise<Job> {
return api("/api/jobs", {
method: "POST",
body: JSON.stringify(payload),
Expand Down
Loading
Loading