mirror of
https://github.com/HeyPuter/puter.git
synced 2025-02-02 14:18:43 +08:00
Simplify PuterVersionService
This commit is contained in:
parent
e3d238f897
commit
fc5025a2a8
2
package-lock.json
generated
2
package-lock.json
generated
@ -10789,7 +10789,7 @@
|
||||
},
|
||||
"packages/backend": {
|
||||
"name": "@heyputer/backend",
|
||||
"version": "1.0.0",
|
||||
"version": "2.0.2",
|
||||
"license": "AGPL-3.0-only",
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
|
@ -43,6 +43,11 @@ module.exports = CoreModule;
|
||||
const install = async ({ services, app }) => {
|
||||
const config = require('./config');
|
||||
|
||||
// /!\ IMPORTANT /!\
|
||||
// For new services, put the import immediate above the
|
||||
// call to services.registerService. We'll clean this up
|
||||
// in a future PR.
|
||||
|
||||
const { LogService } = require('./services/runtime-analysis/LogService');
|
||||
const { PagerService } = require('./services/runtime-analysis/PagerService');
|
||||
const { AlarmService } = require('./services/runtime-analysis/AlarmService');
|
||||
@ -182,6 +187,8 @@ const install = async ({ services, app }) => {
|
||||
const { EventService } = require('./services/EventService');
|
||||
services.registerService('event', EventService);
|
||||
|
||||
const { PuterVersionService } = require('./services/PuterVersionService');
|
||||
services.registerService('puter-version', PuterVersionService);
|
||||
}
|
||||
|
||||
const install_legacy = async ({ services }) => {
|
||||
@ -192,7 +199,6 @@ const install_legacy = async ({ services }) => {
|
||||
const PerformanceMonitor = require('./monitor/PerformanceMonitor');
|
||||
const { OperationTraceService } = require('./services/OperationTraceService');
|
||||
const { WSPushService } = require('./services/WSPushService');
|
||||
const { PuterVersionService } = require('./services/PuterVersionService');
|
||||
const { ReferralCodeService } = require('./services/ReferralCodeService');
|
||||
const { Emailservice } = require('./services/EmailService');
|
||||
const { ClientOperationService } = require('./services/ClientOperationService');
|
||||
@ -207,7 +213,6 @@ const install_legacy = async ({ services }) => {
|
||||
services.registerService('filesystem', FilesystemService);
|
||||
services.registerService('operationTrace', OperationTraceService);
|
||||
services.registerService('__event-push-ws', WSPushService);
|
||||
services.registerService('puter-version', PuterVersionService);
|
||||
services.registerService('referral-code', ReferralCodeService);
|
||||
services.registerService('email', Emailservice);
|
||||
services.registerService('file-cache', FileCacheService);
|
||||
|
@ -22,7 +22,6 @@ class PuterAPIService extends BaseService {
|
||||
async ['__on_install.routes'] () {
|
||||
const { app } = this.services.get('web-server');
|
||||
|
||||
app.use(require('../routers/version'))
|
||||
app.use(require('../routers/apps'))
|
||||
app.use(require('../routers/query/app'))
|
||||
app.use(require('../routers/change_username'))
|
||||
|
@ -16,66 +16,26 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
const { AdvancedBase } = require("puter-js-common");
|
||||
const { NodeUIDSelector } = require("../filesystem/node/selectors");
|
||||
const { get_user } = require("../helpers");
|
||||
const { TeePromise } = require("../util/promise");
|
||||
const { StreamBuffer } = require("../util/streamutil");
|
||||
const BaseService = require("./BaseService");
|
||||
|
||||
class PuterVersionService extends AdvancedBase {
|
||||
static MODULES = {
|
||||
_path: require('path'),
|
||||
fs: require('fs'),
|
||||
_exec: require('child_process').execSync,
|
||||
axios: require('axios'),
|
||||
class PuterVersionService extends BaseService {
|
||||
async _init () {
|
||||
this.boot_time = Date.now();
|
||||
}
|
||||
|
||||
constructor ({ services, config }) {
|
||||
super();
|
||||
this.fs = services.get('filesystem');
|
||||
this.config = config;
|
||||
|
||||
this._init({ config });
|
||||
this.ready_ = new TeePromise();
|
||||
}
|
||||
|
||||
async _init ({ config }) {
|
||||
// this.node = await this.fs.node(new NodeUIDSelector(config.puter_hosted_data.puter_versions));
|
||||
// this.user = await get_user({ username: 'puter' });
|
||||
|
||||
// await this._poll_versions({ config });
|
||||
|
||||
// setInterval(async () => {
|
||||
// await this._poll_versions({ config });
|
||||
// }, 60 * 1000);
|
||||
}
|
||||
|
||||
// not used anymore - this was for getting version numbers from a file hosted on puter
|
||||
async _poll_versions ({ config }) {
|
||||
const resp = await this.modules.axios.get(
|
||||
config.puter_hosted_data.puter_versions
|
||||
);
|
||||
this.versions_ = resp.data.versions;
|
||||
this.ready_.resolve();
|
||||
async ['__on_install.routes'] () {
|
||||
const { app } = this.services.get('web-server');
|
||||
app.use(require('../routers/version'));
|
||||
}
|
||||
|
||||
get_version () {
|
||||
let deploy_timestamp;
|
||||
if ( this.config.env === 'dev' ) {
|
||||
deploy_timestamp = Date.now();
|
||||
} else {
|
||||
deploy_timestamp = Number.parseInt((this.modules.fs.readFileSync(
|
||||
this.modules._path.join(__dirname, '../../deploy_timestamp'),
|
||||
'utf8'
|
||||
)).trim());
|
||||
}
|
||||
const version = process.env.npm_package_version ||
|
||||
require('../../package.json').version;
|
||||
return {
|
||||
version,
|
||||
environment: this.config.env,
|
||||
location: this.config.server_id,
|
||||
deploy_timestamp,
|
||||
environment: this.global_config.env,
|
||||
location: this.global_config.server_id,
|
||||
deploy_timestamp: this.boot_time,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user