mirror of
https://github.com/unraid/api.git
synced 2026-04-29 11:45:49 -05:00
010efe75bd
This reverts commit 4ef387b5bb.
44 lines
871 B
TypeScript
44 lines
871 B
TypeScript
/*!
|
|
* Copyright 2019-2020 Lime Technology Inc. All rights reserved.
|
|
* Written by: Alexis Tyler
|
|
*/
|
|
|
|
import { uptime } from 'os';
|
|
import si from 'systeminformation';
|
|
import { CoreContext, CoreResult } from '../../types';
|
|
import { ensurePermission } from '../../utils';
|
|
|
|
// Get uptime on boot and convert to date
|
|
const bootTimestamp = new Date(new Date().getTime() - (uptime() * 1000));
|
|
|
|
/**
|
|
* Get OS info
|
|
*
|
|
* @memberof Core
|
|
* @module info/get-os
|
|
*/
|
|
export const getOs = async function (context: CoreContext): Promise<CoreResult> {
|
|
const { user } = context;
|
|
|
|
// Check permissions
|
|
ensurePermission(user, {
|
|
resource: 'os',
|
|
action: 'read',
|
|
possession: 'any'
|
|
});
|
|
|
|
const os = await si.osInfo();
|
|
|
|
return {
|
|
get text() {
|
|
return `OS info: ${JSON.stringify(os, null, 2)}`;
|
|
},
|
|
get json() {
|
|
return {
|
|
...os,
|
|
uptime: bootTimestamp
|
|
};
|
|
}
|
|
};
|
|
};
|