rag / frontend /src /models /mobile.js
gaojintao01
Add files using Git LFS
f8b5d42
import { API_BASE } from "@/utils/constants";
import { baseHeaders } from "@/utils/request";
/**
* @typedef {Object} MobileConnection
* @property {string} id - The database ID of the device.
* @property {string} deviceId - The device ID of the device.
* @property {string} deviceOs - The operating system of the device.
* @property {boolean} approved - Whether the device is approved.
* @property {string} createdAt - The date and time the device was created.
*/
const MobileConnection = {
/**
* Get the connection info for the mobile app.
* @returns {Promise<{connectionUrl: string|null}>} The connection info.
*/
getConnectionInfo: async function () {
return await fetch(`${API_BASE}/mobile/connect-info`, {
headers: baseHeaders(),
})
.then((res) => res.json())
.catch(() => false);
},
/**
* Get all the devices from the database.
* @returns {Promise<MobileDevice[]>} The devices.
*/
getDevices: async function () {
return await fetch(`${API_BASE}/mobile/devices`, {
headers: baseHeaders(),
})
.then((res) => res.json())
.then((res) => res.devices || [])
.catch(() => []);
},
/**
* Delete a device from the database.
* @param {string} deviceId - The database ID of the device to delete.
* @returns {Promise<{message: string}>} The deleted device.
*/
deleteDevice: async function (id) {
return await fetch(`${API_BASE}/mobile/${id}`, {
method: "DELETE",
headers: baseHeaders(),
})
.then((res) => res.json())
.catch(() => false);
},
/**
* Update a device in the database.
* @param {string} id - The database ID of the device to update.
* @param {Object} updates - The updates to apply to the device.
* @returns {Promise<{updates: MobileDevice}>} The updated device.
*/
updateDevice: async function (id, updates = {}) {
return await fetch(`${API_BASE}/mobile/update/${id}`, {
method: "POST",
body: JSON.stringify(updates),
headers: baseHeaders(),
})
.then((res) => res.json())
.catch(() => false);
},
};
export default MobileConnection;