Catalyst / admin/Synapse-Cortex 14.8 GB / 57.8 GB 40.0 GB free
Help Sign in

admin / Synapse-Cortex

public

Self Hosted ITSM Tool with RBAC/Tenanting and MFA

Code Issues Pull requests Pipelines Packages Security Insights Wiki Settings
Synapse-Cortex / Synapse-Cortexv2 / frontend / src / api / assets.ts 942 B · main
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { api } from './client'
import type { AssetOut, AssetStatus, SoftwareItem } from './types'

export interface AssetCreatePayload {
  name: string
  asset_type_id: string
  mac_address: string
  ip_address?: string
  location?: string
  status?: AssetStatus
  assigned_to_id?: string
}

export interface AssetUpdatePayload {
  name?: string
  asset_type_id?: string
  status?: AssetStatus
  location?: string
  assigned_to_id?: string | null
  mac_address?: string | null
  ip_address?: string | null
  os?: string | null
  software?: SoftwareItem[]
  client_context?: string | null
}

export const assetsApi = {
  list: () => api.get<AssetOut[]>('/api/v1/assets'),
  get: (id: string) => api.get<AssetOut>(`/api/v1/assets/${id}`),
  create: (payload: AssetCreatePayload) => api.post<AssetOut>('/api/v1/assets', payload),
  update: (id: string, payload: AssetUpdatePayload) =>
    api.patch<AssetOut>(`/api/v1/assets/${id}`, payload),
}