VulpesOS/gaia/distros/spark/apps/sharing/js/models/peer.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

70 lines
No EOL
1.9 KiB
JavaScript
Executable file

define(["exports", "fxos-mvc/dist/mvc", "app/js/services/share_service", "app/js/services/device_name_service"], function (exports, _fxosMvcDistMvc, _appJsServicesShareService, _appJsServicesDeviceNameService) {
"use strict";
var _extends = function (child, parent) {
child.prototype = Object.create(parent.prototype, {
constructor: {
value: child,
enumerable: false,
writable: true,
configurable: true
}
});
child.__proto__ = parent;
};
var Model = _fxosMvcDistMvc.Model;
var ShareService = _appJsServicesShareService["default"];
var DeviceNameService = _appJsServicesDeviceNameService["default"];
var Peer = (function (Model) {
var Peer = function Peer() {
Model.apply(this, arguments);
};
_extends(Peer, Model);
Peer.getMe = function () {
return new Promise(function (resolve, reject) {
Promise.all([ShareService.getApps(), DeviceNameService.getDeviceName()]).then(function (result) {
var apps = result[0];
var deviceName = result[1];
resolve({
name: deviceName,
session: window.session,
apps: apps
});
}, reject);
});
};
Peer.stringify = function (peer) {
var peerObj = {};
for (var i in peer) {
peerObj[i] = peer[i];
}
peerObj.apps = peer.apps.map(function (app) {
return {
type: app.type,
manifest: {
name: app.manifest.name,
description: app.manifest.description,
developer: {
name: (app.manifest.developer && app.manifest.developer.name) || ""
},
role: app.manifest.role,
type: app.manifest.type
},
manifestURL: app.manifestURL,
icon: app.icon
};
});
return JSON.stringify(peerObj);
};
return Peer;
})(Model);
exports["default"] = Peer;
});