systemview 2.2.5 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/Connections.js +6 -1
- package/api/cli-history.json +1 -1
- package/api/connections.json +1 -1
- package/api/index.js +43 -13
- package/build/asset-manifest.json +6 -6
- package/build/index.html +1 -1
- package/build/static/css/main.87b2fd6a.css +8 -0
- package/build/static/css/main.87b2fd6a.css.map +1 -0
- package/build/static/js/{main.f5bafe34.js → main.5d6e3f47.js} +3 -3
- package/build/static/js/main.5d6e3f47.js.map +1 -0
- package/cli/connectService.js +18 -1
- package/cli/cookieClient.js +14 -45
- package/cli/index.js +24 -12
- package/cli/manifest.js +10 -3
- package/cli/manifestHeaders.js +120 -0
- package/cli/probe.js +3 -0
- package/cli/utils/cli.js +6 -1
- package/package.json +1 -1
- package/build/static/css/main.1916c1d1.css +0 -15
- package/build/static/css/main.1916c1d1.css.map +0 -1
- package/build/static/js/main.f5bafe34.js.map +0 -1
- /package/build/static/js/{main.f5bafe34.js.LICENSE.txt → main.5d6e3f47.js.LICENSE.txt} +0 -0
package/api/Connections.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
const fs = require("fs");
|
|
2
|
-
const {
|
|
2
|
+
const { createClient } = require("systemlynx");
|
|
3
|
+
const { createCookieHttpClient } = require("../cli/cookieClient");
|
|
4
|
+
// Same manifest-header client as api/index.js and the CLI — so re-probing stored connections
|
|
5
|
+
// (refreshConnections) also carries operator-authored headers. A gated service would otherwise
|
|
6
|
+
// silently drop out of the UI on every refresh.
|
|
7
|
+
const Client = createClient(createCookieHttpClient());
|
|
3
8
|
const LOCAL_STORAGE = `${__dirname}/connections.json`;
|
|
4
9
|
|
|
5
10
|
function refreshConnections(connections) {
|
package/api/cli-history.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
["test","test signUp","test systemview-test","
|
|
1
|
+
["test","test signUp","test systemview-test","help","connect https://ballersunited.global:4000/bu/api/media","list"]
|
package/api/connections.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Badges","route":"/bu/api/profiles/Badges","name":"Badges","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"getDefinitions"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Locations","route":"/bu/api/profiles/Locations","name":"Locations","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"search"},{"method":"post","fn":"resolve"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Users","route":"/bu/api/profiles/Users","name":"Users","methods":[{"method":"post","fn":"signUp"},{"method":"post","fn":"signIn"},{"method":"post","fn":"signOut"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"quickSignUp"},{"method":"post","fn":"exists"},{"method":"post","fn":"isRecognized"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"setBadges"},{"method":"post","fn":"updateRealLocation"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Teams","route":"/bu/api/profiles/Teams","name":"Teams","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"updateStatus"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"setScope"},{"method":"post","fn":"removeScope"},{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Tournaments","route":"/bu/api/profiles/Tournaments","name":"Tournaments","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"add"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"addMember"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"updateStatus"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Groups","route":"/bu/api/profiles/Groups","name":"Groups","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"add"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"addTournament"},{"method":"post","fn":"removeTournament"},{"method":"post","fn":"updateStatus"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Events","route":"/bu/api/profiles/Events","name":"Events","methods":[{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"add"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"addTournament"},{"method":"post","fn":"removeTournament"},{"method":"post","fn":"addGroup"},{"method":"post","fn":"removeGroup"},{"method":"post","fn":"registerSeason"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Follows","route":"/bu/api/profiles/Follows","name":"Follows","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"addMulti"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"delete"},{"method":"post","fn":"deleteMulti"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Solicitations","route":"/bu/api/profiles/Solicitations","name":"Solicitations","methods":[{"method":"post","fn":"send"},{"method":"post","fn":"get"},{"method":"post","fn":"cancel"},{"method":"post","fn":"reject"},{"method":"post","fn":"accept"},{"method":"post","fn":"resend"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Aggregator","route":"/bu/api/profiles/Aggregator","name":"Aggregator","methods":[{"method":"post","fn":"get"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Storage","route":"/bu/api/profiles/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/MyMath","route":"/bu/api/profiles/MyMath","name":"MyMath","methods":[{"method":"post","fn":"abs"},{"method":"post","fn":"acos"},{"method":"post","fn":"acosh"},{"method":"post","fn":"asin"},{"method":"post","fn":"asinh"},{"method":"post","fn":"atan"},{"method":"post","fn":"atanh"},{"method":"post","fn":"atan2"},{"method":"post","fn":"ceil"},{"method":"post","fn":"cbrt"},{"method":"post","fn":"expm1"},{"method":"post","fn":"clz32"},{"method":"post","fn":"cos"},{"method":"post","fn":"cosh"},{"method":"post","fn":"exp"},{"method":"post","fn":"floor"},{"method":"post","fn":"fround"},{"method":"post","fn":"hypot"},{"method":"post","fn":"imul"},{"method":"post","fn":"log"},{"method":"post","fn":"log1p"},{"method":"post","fn":"log2"},{"method":"post","fn":"log10"},{"method":"post","fn":"max"},{"method":"post","fn":"min"},{"method":"post","fn":"pow"},{"method":"post","fn":"random"},{"method":"post","fn":"round"},{"method":"post","fn":"sign"},{"method":"post","fn":"sin"},{"method":"post","fn":"sinh"},{"method":"post","fn":"sqrt"},{"method":"post","fn":"tan"},{"method":"post","fn":"tanh"},{"method":"post","fn":"trunc"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/SystemView","route":"/bu/api/profiles/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Plugin","route":"/bu/api/profiles/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockUsers"},{"method":"post","fn":"clearMockTournaments"},{"method":"post","fn":"clearMockTeams"},{"method":"post","fn":"clearMockGroups"},{"method":"post","fn":"clearMockEvents"},{"method":"post","fn":"clearMockSolicitations"},{"method":"post","fn":"clearMockFollows"},{"method":"post","fn":"clearMockBadges"},{"method":"post","fn":"clearMockLocations"},{"method":"post","fn":"patchLocations"},{"method":"post","fn":"addMockLocationEntries"},{"method":"post","fn":"createMockUsers"},{"method":"post","fn":"createMockBadge"},{"method":"post","fn":"createReadyTeam"},{"method":"post","fn":"createReadyTournament"},{"method":"post","fn":"createMultipleTeams"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"clearExpiredTeams"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/profiles","port":"4100","serviceUrl":"http://127.0.0.1:4100/bu/api/profiles","socketPath":"/bu/api/profiles/socket.io","namespace":"ws://127.0.0.1:4100/bu/api/profiles","SystemLynxService":true},"modules":[{"name":"Badges","module":{"db":{"itemName":"Badge","collectionName":"Badges"}}},{"name":"Locations","module":{"db":{"itemName":"Location","collectionName":"Locations"}}},{"name":"Users","module":{"db":{"itemName":"User","collectionName":"Users"}}},{"name":"Teams","module":{"db":{"itemName":"Team","collectionName":"Teams"}}},{"name":"Tournaments","module":{"db":{"itemName":"Tournament","collectionName":"Tournaments"}}},{"name":"Groups","module":{"db":{"itemName":"Group","collectionName":"Groups"}}},{"name":"Events","module":{"db":{"itemName":"Event","collectionName":"Events"}}},{"name":"Follows","module":{"db":{"itemName":"Follow","collectionName":"Follows"}}},{"name":"Solicitations","module":{"db":{"itemName":"Solicitation","collectionName":"Solicitations"}}},{"name":"Aggregator","module":{"db":{},"COLLECTIONS":["Users","Teams","Tournaments","Groups","Events","Follows","Solicitations","Locations"]}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Profiles/files","STORAGE_URL":"http://127.0.0.1:4100/storage"}},{"name":"MyMath","__constructor":{},"module":{}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/profiles","port":"4100","host":"127.0.0.1","protocol":"http","ssl":null},"services":[{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"projectCode":"buAPI","serviceId":"Profiles","specList":{"docs":["Badges.md","Events.md","Follows.md","Groups.md","Locations.md","Profiles.md","Solicitations.md","Teams.md","Tournaments.md","Users.md","Users.signIn.md","Users.signUp.md"],"tests":["Aggregator.get.json","Badges.get.json","Events.add.json","Events.addAdmin.json","Events.addGroup.json","Events.addMember.json","Events.addTeam.json","Events.addTournament.json","Events.edit.json","Events.get.json","Events.removeAdmin.json","Events.removeGroup.json","Events.removeMember.json","Events.removeTeam.json","Events.removeTournament.json","Follows.add.json","Follows.delete.json","Follows.get.json","Follows.getPage.json","Groups.add.json","Groups.addAdmin.json","Groups.addMember.json","Groups.addTeam.json","Groups.addTournament.json","Groups.edit.json","Groups.get.json","Groups.removeAdmin.json","Groups.removeMember.json","Groups.removeTeam.json","Groups.removeTournament.json","Groups.updateStatus.json","Locations.get.json","Locations.resolve.json","Locations.save.json","Locations.search.json","Solicitations.accept.json","Solicitations.cancel.json","Solicitations.get.json","Solicitations.reject.json","Solicitations.resend.json","Solicitations.send.json","Storage.delete.json","Storage.list.json","Storage.save.json","Teams.acceptDraft.json","Teams.add.json","Teams.addAdmin.json","Teams.addMember.json","Teams.closeDraft.json","Teams.edit.json","Teams.endDraft.json","Teams.get.json","Teams.joinDraft.json","Teams.rejectDraft.json","Teams.removeAdmin.json","Teams.removeFromDraft.json","Teams.removeMember.json","Teams.removeScope.json","Teams.setScope.json","Teams.startDraft.json","Teams.updateStatus.json","Tournaments.add.json","Tournaments.addAdmin.json","Tournaments.addMember.json","Tournaments.addTeam.json","Tournaments.edit.json","Tournaments.get.json","Tournaments.getPage.json","Tournaments.removeAdmin.json","Tournaments.removeMember.json","Tournaments.removeTeam.json","Tournaments.startDraft.json","Tournaments.updateStatus.json","Users.edit.json","Users.exists.json","Users.get.json","Users.getPage.json","Users.isRecognized.json","Users.quickSignUp.json","Users.setBadges.json","Users.signIn.json","Users.signOut.json","Users.signUp.json","Users.updateRealLocation.json"]}},{"system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Chats","route":"/bu/api/networking/Chats","name":"Chats","methods":[{"method":"post","fn":"start"},{"method":"post","fn":"send"},{"method":"post","fn":"get"},{"method":"post","fn":"getMessages"},{"method":"post","fn":"undoMessage"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"addSeenBy"},{"method":"post","fn":"getAll"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Notifications","route":"/bu/api/networking/Notifications","name":"Notifications","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"updateStatus"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Storage","route":"/bu/api/networking/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/SystemView","route":"/bu/api/networking/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Plugin","route":"/bu/api/networking/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockChats"},{"method":"post","fn":"clearMockNotifications"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/networking","port":"5100","serviceUrl":"http://127.0.0.1:5100/bu/api/networking","socketPath":"/bu/api/networking/socket.io","namespace":"ws://127.0.0.1:5100/bu/api/networking","SystemLynxService":true},"modules":[{"name":"Chats","module":{"db":{"itemName":"Chat","collectionName":"Chats"}}},{"name":"Notifications","module":{"db":{"itemName":"Notification","collectionName":"Notifications"}}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Networking/files","STORAGE_URL":"http://127.0.0.1:5100/storage"}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/networking","port":"5100","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://127.0.0.1:4100/bu/api/profiles","onLoad":null,"client":{"Badges":{},"Locations":{},"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Events":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Storage":{},"MyMath":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"projectCode":"buAPI","serviceId":"Networking","specList":{"docs":["Chats.md","Networking.md","Notifications.md","Shares.md"],"tests":["Chats.addMember.json","Chats.addSeenBy.json","Chats.get.json","Chats.getAll.json","Chats.getMessages.json","Chats.removeMember.json","Chats.send.json","Chats.start.json","Chats.undoMessage.json","Notifications.add.json","Notifications.get.json","Notifications.updateStatus.json"]}},{"system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Games","route":"/bu/api/basketball/Games","name":"Games","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"editGameDetails"},{"method":"post","fn":"updateTeam"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addPlay"},{"method":"post","fn":"editPlay"},{"method":"post","fn":"undoPlay"},{"method":"post","fn":"insertPlay"},{"method":"post","fn":"endReview"},{"method":"post","fn":"acceptCallout"},{"method":"post","fn":"rejectCallout"},{"method":"post","fn":"setAdmins"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Stats","route":"/bu/api/basketball/Stats","name":"Stats","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Seasons","route":"/bu/api/basketball/Seasons","name":"Seasons","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addRound"},{"method":"post","fn":"editRound"},{"method":"post","fn":"removeRound"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"editTeam"},{"method":"post","fn":"acceptCallout"},{"method":"post","fn":"rejectCallout"},{"method":"post","fn":"addMatch"},{"method":"post","fn":"editMatch"},{"method":"post","fn":"cancel"},{"method":"post","fn":"removeMatch"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Aggregator","route":"/bu/api/basketball/Aggregator","name":"Aggregator","methods":[{"method":"post","fn":"get"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Storage","route":"/bu/api/basketball/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/SystemView","route":"/bu/api/basketball/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Plugin","route":"/bu/api/basketball/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockCourts"},{"method":"post","fn":"clearMockGames"},{"method":"post","fn":"clearMockSeasons"},{"method":"post","fn":"clearMockLocations"},{"method":"post","fn":"readyGame"},{"method":"post","fn":"clearStats"},{"method":"post","fn":"getMockPlays"},{"method":"post","fn":"wait"},{"method":"post","fn":"readySeason"},{"method":"post","fn":"seasonsTest1"},{"method":"post","fn":"seasonsTest2"},{"method":"post","fn":"seasonsTest3"},{"method":"post","fn":"seasonsTest4"},{"method":"post","fn":"seasonsTest5"},{"method":"post","fn":"playOutMockRound"},{"method":"post","fn":"playCasualGames"},{"method":"post","fn":"addSeasonGames"},{"method":"post","fn":"seedLocations"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/basketball","port":"4900","serviceUrl":"http://127.0.0.1:4900/bu/api/basketball","socketPath":"/bu/api/basketball/socket.io","namespace":"ws://127.0.0.1:4900/bu/api/basketball","SystemLynxService":true},"modules":[{"name":"Games","module":{"db":{"itemName":"Game","collectionName":"Games"}}},{"name":"Stats","module":{}},{"name":"Seasons","module":{"db":{"itemName":"Season","collectionName":"Seasons"}}},{"name":"Aggregator","module":{"db":{},"COLLECTIONS":["Events","Games","Seasons","PlayerOverallPerformance","PlayerSeasonalPerformance","PlayerPerGamePerformance","TeamOverallPerformance","TeamSeasonalPerformance","TeamPerGamePerformance","Locations"]}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Basketball/files","STORAGE_URL":"http://127.0.0.1:4900/storage"}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/basketball","port":"4900","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://127.0.0.1:4100/bu/api/profiles","onLoad":null,"client":{"Badges":{},"Locations":{},"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Events":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Storage":{},"MyMath":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"projectCode":"buAPI","serviceId":"Basketball","specList":{"docs":["Basketball.md","Games.md","Seasons.get.md","Seasons.md","Stats.md"],"tests":["Aggregator.get.json","Games.acceptCallout.json","Games.add.json","Games.addAdmin.json","Games.addPlay.json","Games.editGameDetails.json","Games.editPlay.json","Games.endReview.json","Games.get.json","Games.getPage.json","Games.insertPlay.json","Games.rejectCallout.json","Games.removeAdmin.json","Games.setAdmins.json","Games.undoPlay.json","Games.updateTeam.json","Plugin.getMockPlays.json","Plugin.seasonsTest1.json","Plugin.seasonsTest2.json","Plugin.seasonsTest3.json","Plugin.seasonsTest4.json","Plugin.seasonsTest5.json","Seasons.acceptCallout.json","Seasons.add.json","Seasons.addAdmin.json","Seasons.addMatch.json","Seasons.addRound.json","Seasons.addTeam.json","Seasons.cancel.json","Seasons.edit.json","Seasons.editMatch.json","Seasons.editRound.json","Seasons.editTeam.json","Seasons.get.json","Seasons.getPage.json","Seasons.rejectCallout.json","Seasons.removeAdmin.json","Seasons.removeMatch.json","Seasons.removeRound.json","Seasons.removeTeam.json","Stats.get.json","Stats.getPage.json"]}},{"system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4000/bu/api/media/Broadcasts","route":"/bu/api/media/Broadcasts","name":"Broadcasts","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"getRtpCapabilities"},{"method":"post","fn":"getSenderTransportData"},{"method":"post","fn":"connectTransport"},{"method":"post","fn":"createSceneProducer"},{"method":"post","fn":"getReceiverTransportData"},{"method":"post","fn":"createSceneConsumers"},{"method":"post","fn":"resumeConsumer"},{"method":"post","fn":"switchScenes"},{"method":"post","fn":"startBroadcast"},{"method":"post","fn":"endBroadcast"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"setAdmins"},{"method":"post","fn":"addContributor"},{"method":"post","fn":"removeContributor"},{"method":"post","fn":"setContributors"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Posts","route":"/bu/api/media/Posts","name":"Posts","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"delete"},{"method":"post","fn":"edit"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Reactions","route":"/bu/api/media/Reactions","name":"Reactions","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"getCount"},{"method":"post","fn":"delete"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Storage","route":"/bu/api/media/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/SystemView","route":"/bu/api/media/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Plugin","route":"/bu/api/media/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockBroadcasts"},{"method":"post","fn":"clearMockReactions"},{"method":"post","fn":"clearMockPost"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/media","port":"4000","serviceUrl":"http://127.0.0.1:4000/bu/api/media","socketPath":"/bu/api/media/socket.io","namespace":"ws://127.0.0.1:4000/bu/api/media","SystemLynxService":true},"modules":[{"name":"Broadcasts","module":{"db":{"itemName":"Broadcast","collectionName":"Broadcasts"}}},{"name":"Posts","module":{"db":{"itemName":"Post","collectionName":"Posts"}}},{"name":"Reactions","module":{"db":{"itemName":"Reaction","collectionName":"Reactions"}}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Media/files","STORAGE_URL":"http://127.0.0.1:4000/storage"}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/media","port":"4000","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://127.0.0.1:4100/bu/api/profiles","onLoad":null,"client":{"Badges":{},"Locations":{},"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Events":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Storage":{},"MyMath":{},"SystemView":{},"Plugin":{}}},{"name":"Basketball","url":"http://127.0.0.1:4900/bu/api/basketball","onLoad":null,"client":{"Games":{},"Stats":{},"Seasons":{},"Aggregator":{},"Storage":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"projectCode":"buAPI","serviceId":"Media","specList":{"docs":["Broadcasts.md","Media.md","Posts-contract.md","Posts.md","Reactions.md","Storage.md"],"tests":["Broadcasts.add.json","Broadcasts.addAdmin.json","Broadcasts.addContributor.json","Broadcasts.get.json","Broadcasts.getPage.json","Broadcasts.removeAdmin.json","Broadcasts.removeContributor.json","Broadcasts.setAdmins.json","Broadcasts.setContributors.json","Posts.add.json","Posts.delete.json","Posts.edit.json","Posts.get.json","Posts.getPage.json","Reactions.add.json","Reactions.delete.json","Reactions.get.json","Reactions.getCount.json","Reactions.getPage.json"]}},{"system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Badges","route":"/bu/api/mocks/Badges","name":"Badges","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Locations","route":"/bu/api/mocks/Locations","name":"Locations","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Users","route":"/bu/api/mocks/Users","name":"Users","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/UsersArchive","route":"/bu/api/mocks/UsersArchive","name":"UsersArchive","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Tournaments","route":"/bu/api/mocks/Tournaments","name":"Tournaments","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Teams","route":"/bu/api/mocks/Teams","name":"Teams","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Groups","route":"/bu/api/mocks/Groups","name":"Groups","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Events","route":"/bu/api/mocks/Events","name":"Events","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Follows","route":"/bu/api/mocks/Follows","name":"Follows","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Solicitations","route":"/bu/api/mocks/Solicitations","name":"Solicitations","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/PlayerOverallPerformance","route":"/bu/api/mocks/PlayerOverallPerformance","name":"PlayerOverallPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/PlayerSeasonalPerformance","route":"/bu/api/mocks/PlayerSeasonalPerformance","name":"PlayerSeasonalPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/PlayerPerGamePerformance","route":"/bu/api/mocks/PlayerPerGamePerformance","name":"PlayerPerGamePerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/TeamOverallPerformance","route":"/bu/api/mocks/TeamOverallPerformance","name":"TeamOverallPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/TeamSeasonalPerformance","route":"/bu/api/mocks/TeamSeasonalPerformance","name":"TeamSeasonalPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/TeamPerGamePerformance","route":"/bu/api/mocks/TeamPerGamePerformance","name":"TeamPerGamePerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Broadcasts","route":"/bu/api/mocks/Broadcasts","name":"Broadcasts","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Posts","route":"/bu/api/mocks/Posts","name":"Posts","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Reactions","route":"/bu/api/mocks/Reactions","name":"Reactions","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/People","route":"/bu/api/mocks/People","name":"People","methods":[{"method":"post","fn":"createUsers"},{"method":"post","fn":"createPopulatedUsers"},{"method":"post","fn":"createTeams"},{"method":"post","fn":"createPopulatedTeams"},{"method":"post","fn":"createTournaments"},{"method":"post","fn":"createPopulatedTournaments"},{"method":"post","fn":"createGroups"},{"method":"post","fn":"createPopulatedGroups"},{"method":"post","fn":"createEvents"},{"method":"post","fn":"createPopulatedEvents"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Games","route":"/bu/api/mocks/Games","name":"Games","methods":[{"method":"post","fn":"playOutGames"},{"method":"post","fn":"playOutExistingGames"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Seasons","route":"/bu/api/mocks/Seasons","name":"Seasons","methods":[{"method":"post","fn":"createPopulatedSeasons"},{"method":"post","fn":"playOutSeasons"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Media","route":"/bu/api/mocks/Media","name":"Media","methods":[{"method":"post","fn":"createPosts"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Scenarios","route":"/bu/api/mocks/Scenarios","name":"Scenarios","methods":[{"method":"post","fn":"buildArea"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/GamesDB","route":"/bu/api/mocks/GamesDB","name":"GamesDB","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/SeasonsDB","route":"/bu/api/mocks/SeasonsDB","name":"SeasonsDB","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/SystemView","route":"/bu/api/mocks/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Plugin","route":"/bu/api/mocks/Plugin","name":"Plugin","methods":[{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/mocks","port":"4300","serviceUrl":"http://127.0.0.1:4300/bu/api/mocks","socketPath":"/bu/api/mocks/socket.io","namespace":"ws://127.0.0.1:4300/bu/api/mocks","SystemLynxService":true},"modules":[{"name":"Badges","__constructor":{},"module":{}},{"name":"Locations","__constructor":{},"module":{}},{"name":"Users","__constructor":{},"module":{}},{"name":"UsersArchive","__constructor":{},"module":{}},{"name":"Tournaments","__constructor":{},"module":{}},{"name":"Teams","__constructor":{},"module":{}},{"name":"Groups","__constructor":{},"module":{}},{"name":"Events","__constructor":{},"module":{}},{"name":"Follows","__constructor":{},"module":{}},{"name":"Solicitations","__constructor":{},"module":{}},{"name":"PlayerOverallPerformance","__constructor":{},"module":{}},{"name":"PlayerSeasonalPerformance","__constructor":{},"module":{}},{"name":"PlayerPerGamePerformance","__constructor":{},"module":{}},{"name":"TeamOverallPerformance","__constructor":{},"module":{}},{"name":"TeamSeasonalPerformance","__constructor":{},"module":{}},{"name":"TeamPerGamePerformance","__constructor":{},"module":{}},{"name":"Broadcasts","__constructor":{},"module":{}},{"name":"Posts","__constructor":{},"module":{}},{"name":"Reactions","__constructor":{},"module":{}},{"name":"People","module":{}},{"name":"Games","module":{}},{"name":"Seasons","module":{}},{"name":"Media","module":{}},{"name":"Scenarios","module":{}},{"name":"GamesDB","__constructor":{},"module":{}},{"name":"SeasonsDB","__constructor":{},"module":{}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/mocks","port":"4300","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Basketball","url":"http://127.0.0.1:4900/bu/api/basketball","onLoad":null,"client":{"Games":{},"Stats":{},"Seasons":{},"Aggregator":{},"Storage":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"projectCode":"buAPI","serviceId":"Mocks","specList":{"docs":["Mocks.md"],"tests":["Games.playOutGames.json","Media.createPosts.json","People.createPopulatedTeams.json","People.createUsers.json","Seasons.createPopulatedSeasons.json","Seasons.playOutSeasons.json"]}},{"system":{"connectionData":{"modules":[{"namespace":"ws://localhost:5555/test/api/Math","route":"/test/api/Math","name":"Math","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"subtract"},{"method":"post","fn":"multiply"},{"method":"post","fn":"divide"},{"method":"post","fn":"getItems"}]},{"namespace":"ws://localhost:5555/test/api/String","route":"/test/api/String","name":"String","methods":[{"method":"post","fn":"concat"},{"method":"post","fn":"repeat"},{"method":"post","fn":"toUpperCase"}]},{"namespace":"ws://localhost:5555/test/api/Auth","route":"/test/api/Auth","name":"Auth","methods":[{"method":"post","fn":"signIn"},{"method":"post","fn":"getSession"},{"method":"post","fn":"divideByZero"},{"method":"post","fn":"throwError"}]},{"namespace":"ws://localhost:5555/test/api/Headers","route":"/test/api/Headers","name":"Headers","methods":[{"method":"post","fn":"getOrigin"}]},{"namespace":"ws://localhost:5555/test/api/SystemView","route":"/test/api/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://localhost:5555/test/api/Plugin","route":"/test/api/Plugin","name":"Plugin","methods":[{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"localhost","route":"/test/api","port":5555,"serviceUrl":"http://localhost:5555/test/api","socketPath":"/test/api/socket.io","namespace":"ws://localhost:5555/test/api","SystemLynxService":true},"modules":[{"name":"Math","__constructor":{},"module":{}},{"name":"String","__constructor":{},"module":{}},{"name":"Auth","__constructor":{"_lastCookie":""},"module":{}},{"name":"Headers","__constructor":{"_lastOrigin":""},"module":{}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"test/api","port":5555},"services":[{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"projectCode":"systemview-test","serviceId":"TestService","specList":{"docs":[],"tests":["Auth.divideByZero.json","Auth.getSession.json","Auth.signIn.json","Auth.throwError.json","Headers.getOrigin.json","Math.add.json","Math.divide.json","Math.list.json","Math.multiply.json","Math.subtract.json","String.concat.json","String.repeat.json"]}}]
|
|
1
|
+
[{"projectCode":"systemview-test","serviceId":"TestService","system":{"connectionData":{"modules":[{"namespace":"ws://localhost:5555/test/api/Math","route":"/test/api/Math","name":"Math","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"subtract"},{"method":"post","fn":"multiply"},{"method":"post","fn":"divide"},{"method":"post","fn":"getItems"}]},{"namespace":"ws://localhost:5555/test/api/String","route":"/test/api/String","name":"String","methods":[{"method":"post","fn":"concat"},{"method":"post","fn":"repeat"},{"method":"post","fn":"toUpperCase"}]},{"namespace":"ws://localhost:5555/test/api/Auth","route":"/test/api/Auth","name":"Auth","methods":[{"method":"post","fn":"signIn"},{"method":"post","fn":"getSession"},{"method":"post","fn":"divideByZero"},{"method":"post","fn":"throwError"}]},{"namespace":"ws://localhost:5555/test/api/Headers","route":"/test/api/Headers","name":"Headers","methods":[{"method":"post","fn":"getOrigin"},{"method":"post","fn":"echo"}]},{"namespace":"ws://localhost:5555/test/api/CLI","route":"/test/api/CLI","name":"CLI","methods":[{"method":"post","fn":"run"},{"method":"post","fn":"probe"},{"method":"post","fn":"test"},{"method":"post","fn":"list"},{"method":"post","fn":"logs"}]},{"namespace":"ws://localhost:5555/test/api/SystemView","route":"/test/api/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://localhost:5555/test/api/Plugin","route":"/test/api/Plugin","name":"Plugin","methods":[{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"localhost","route":"/test/api","port":5555,"serviceUrl":"http://localhost:5555/test/api","socketPath":"/test/api/socket.io","namespace":"ws://localhost:5555/test/api","SystemLynxService":true},"modules":[{"name":"Math","__constructor":{},"module":{}},{"name":"String","__constructor":{},"module":{}},{"name":"Auth","__constructor":{"_lastCookie":""},"module":{}},{"name":"Headers","__constructor":{"_lastOrigin":"","_lastHeaders":{}},"module":{}},{"name":"CLI","__constructor":{},"module":{}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"test/api","port":5555},"services":[{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{}}]},"specList":{"docs":[],"tests":["Auth.divideByZero.json","Auth.getSession.json","Auth.signIn.json","Auth.throwError.json","CLI.list.json","CLI.logs.json","CLI.probe.json","CLI.run.json","CLI.test.json","Headers.echo.json","Headers.getOrigin.json","Math.add.json","Math.divide.json","Math.list.json","Math.multiply.json","Math.subtract.json","String.concat.json","String.repeat.json","SystemView.getLog.json"]}},{"projectCode":"buAPI","serviceId":"Profiles","system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Badges","route":"/bu/api/profiles/Badges","name":"Badges","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"getDefinitions"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Locations","route":"/bu/api/profiles/Locations","name":"Locations","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"search"},{"method":"post","fn":"resolve"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Users","route":"/bu/api/profiles/Users","name":"Users","methods":[{"method":"post","fn":"signUp"},{"method":"post","fn":"signIn"},{"method":"post","fn":"signOut"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"quickSignUp"},{"method":"post","fn":"exists"},{"method":"post","fn":"isRecognized"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"setBadges"},{"method":"post","fn":"updateRealLocation"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Teams","route":"/bu/api/profiles/Teams","name":"Teams","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"updateStatus"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"setScope"},{"method":"post","fn":"removeScope"},{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Tournaments","route":"/bu/api/profiles/Tournaments","name":"Tournaments","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"add"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"addMember"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"updateStatus"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Groups","route":"/bu/api/profiles/Groups","name":"Groups","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"add"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"addTournament"},{"method":"post","fn":"removeTournament"},{"method":"post","fn":"updateStatus"},{"method":"post","fn":"registerSeason"},{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Events","route":"/bu/api/profiles/Events","name":"Events","methods":[{"method":"post","fn":"startDraft"},{"method":"post","fn":"closeDraft"},{"method":"post","fn":"endDraft"},{"method":"post","fn":"joinDraft"},{"method":"post","fn":"removeFromDraft"},{"method":"post","fn":"acceptDraft"},{"method":"post","fn":"rejectDraft"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"add"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"addTournament"},{"method":"post","fn":"removeTournament"},{"method":"post","fn":"addGroup"},{"method":"post","fn":"removeGroup"},{"method":"post","fn":"registerSeason"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Follows","route":"/bu/api/profiles/Follows","name":"Follows","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"addMulti"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"delete"},{"method":"post","fn":"deleteMulti"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Solicitations","route":"/bu/api/profiles/Solicitations","name":"Solicitations","methods":[{"method":"post","fn":"send"},{"method":"post","fn":"get"},{"method":"post","fn":"cancel"},{"method":"post","fn":"reject"},{"method":"post","fn":"accept"},{"method":"post","fn":"resend"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Aggregator","route":"/bu/api/profiles/Aggregator","name":"Aggregator","methods":[{"method":"post","fn":"get"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Storage","route":"/bu/api/profiles/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/SystemView","route":"/bu/api/profiles/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4100/bu/api/profiles/Plugin","route":"/bu/api/profiles/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockUsers"},{"method":"post","fn":"clearMockTournaments"},{"method":"post","fn":"clearMockTeams"},{"method":"post","fn":"clearMockGroups"},{"method":"post","fn":"clearMockEvents"},{"method":"post","fn":"clearMockSolicitations"},{"method":"post","fn":"clearMockFollows"},{"method":"post","fn":"clearMockBadges"},{"method":"post","fn":"clearMockLocations"},{"method":"post","fn":"patchLocations"},{"method":"post","fn":"addMockLocationEntries"},{"method":"post","fn":"createMockUsers"},{"method":"post","fn":"createMockBadge"},{"method":"post","fn":"createReadyTeam"},{"method":"post","fn":"createReadyTournament"},{"method":"post","fn":"createMultipleTeams"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"clearExpiredTeams"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/profiles","port":"4100","serviceUrl":"http://127.0.0.1:4100/bu/api/profiles","socketPath":"/bu/api/profiles/socket.io","namespace":"ws://127.0.0.1:4100/bu/api/profiles","SystemLynxService":true},"modules":[{"name":"Badges","module":{"db":{"itemName":"Badge","collectionName":"Badges"}}},{"name":"Locations","module":{"db":{"itemName":"Location","collectionName":"Locations"}}},{"name":"Users","module":{"db":{"itemName":"User","collectionName":"Users"}}},{"name":"Teams","module":{"db":{"itemName":"Team","collectionName":"Teams"}}},{"name":"Tournaments","module":{"db":{"itemName":"Tournament","collectionName":"Tournaments"}}},{"name":"Groups","module":{"db":{"itemName":"Group","collectionName":"Groups"}}},{"name":"Events","module":{"db":{"itemName":"Event","collectionName":"Events"}}},{"name":"Follows","module":{"db":{"itemName":"Follow","collectionName":"Follows"}}},{"name":"Solicitations","module":{"db":{"itemName":"Solicitation","collectionName":"Solicitations"}}},{"name":"Aggregator","module":{"db":{},"COLLECTIONS":["Users","Teams","Tournaments","Groups","Events","Follows","Solicitations","Locations"]}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Profiles/files","STORAGE_URL":"http://127.0.0.1:4100/storage"}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/profiles","port":"4100","host":"127.0.0.1","protocol":"http","ssl":null},"services":[{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"specList":{"docs":["Badges.md","Events.md","Follows.md","Groups.md","Locations.md","Profiles.md","Solicitations.md","Teams.md","Tournaments.md","Users.md","Users.signIn.md","Users.signUp.md"],"tests":["Aggregator.get.json","Badges.get.json","Events.add.json","Events.addAdmin.json","Events.addGroup.json","Events.addMember.json","Events.addTeam.json","Events.addTournament.json","Events.edit.json","Events.get.json","Events.removeAdmin.json","Events.removeGroup.json","Events.removeMember.json","Events.removeTeam.json","Events.removeTournament.json","Follows.add.json","Follows.delete.json","Follows.get.json","Follows.getPage.json","Groups.add.json","Groups.addAdmin.json","Groups.addMember.json","Groups.addTeam.json","Groups.addTournament.json","Groups.edit.json","Groups.get.json","Groups.removeAdmin.json","Groups.removeMember.json","Groups.removeTeam.json","Groups.removeTournament.json","Groups.updateStatus.json","Locations.get.json","Locations.resolve.json","Locations.save.json","Locations.search.json","Solicitations.accept.json","Solicitations.cancel.json","Solicitations.get.json","Solicitations.reject.json","Solicitations.resend.json","Solicitations.send.json","Storage.delete.json","Storage.list.json","Storage.save.json","Teams.acceptDraft.json","Teams.add.json","Teams.addAdmin.json","Teams.addMember.json","Teams.closeDraft.json","Teams.edit.json","Teams.endDraft.json","Teams.get.json","Teams.joinDraft.json","Teams.rejectDraft.json","Teams.removeAdmin.json","Teams.removeFromDraft.json","Teams.removeMember.json","Teams.removeScope.json","Teams.setScope.json","Teams.startDraft.json","Teams.updateStatus.json","Tournaments.add.json","Tournaments.addAdmin.json","Tournaments.addMember.json","Tournaments.addTeam.json","Tournaments.edit.json","Tournaments.get.json","Tournaments.getPage.json","Tournaments.removeAdmin.json","Tournaments.removeMember.json","Tournaments.removeTeam.json","Tournaments.startDraft.json","Tournaments.updateStatus.json","Users.edit.json","Users.exists.json","Users.get.json","Users.getPage.json","Users.isRecognized.json","Users.quickSignUp.json","Users.setBadges.json","Users.signIn.json","Users.signOut.json","Users.signUp.json","Users.updateRealLocation.json"]}},{"projectCode":"buAPI","serviceId":"Basketball","system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Games","route":"/bu/api/basketball/Games","name":"Games","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"editGameDetails"},{"method":"post","fn":"updateTeam"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addPlay"},{"method":"post","fn":"editPlay"},{"method":"post","fn":"undoPlay"},{"method":"post","fn":"insertPlay"},{"method":"post","fn":"endReview"},{"method":"post","fn":"acceptCallout"},{"method":"post","fn":"rejectCallout"},{"method":"post","fn":"setAdmins"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Stats","route":"/bu/api/basketball/Stats","name":"Stats","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"getPage"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Seasons","route":"/bu/api/basketball/Seasons","name":"Seasons","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"edit"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addRound"},{"method":"post","fn":"editRound"},{"method":"post","fn":"removeRound"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"editTeam"},{"method":"post","fn":"acceptCallout"},{"method":"post","fn":"rejectCallout"},{"method":"post","fn":"addMatch"},{"method":"post","fn":"editMatch"},{"method":"post","fn":"cancel"},{"method":"post","fn":"removeMatch"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Aggregator","route":"/bu/api/basketball/Aggregator","name":"Aggregator","methods":[{"method":"post","fn":"get"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Storage","route":"/bu/api/basketball/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/SystemView","route":"/bu/api/basketball/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4900/bu/api/basketball/Plugin","route":"/bu/api/basketball/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockCourts"},{"method":"post","fn":"clearMockGames"},{"method":"post","fn":"clearMockSeasons"},{"method":"post","fn":"clearMockLocations"},{"method":"post","fn":"readyGame"},{"method":"post","fn":"clearStats"},{"method":"post","fn":"getMockPlays"},{"method":"post","fn":"wait"},{"method":"post","fn":"readySeason"},{"method":"post","fn":"seasonsTest1"},{"method":"post","fn":"seasonsTest2"},{"method":"post","fn":"seasonsTest3"},{"method":"post","fn":"seasonsTest4"},{"method":"post","fn":"seasonsTest5"},{"method":"post","fn":"playOutMockRound"},{"method":"post","fn":"playCasualGames"},{"method":"post","fn":"addSeasonGames"},{"method":"post","fn":"seedLocations"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/basketball","port":"4900","serviceUrl":"http://127.0.0.1:4900/bu/api/basketball","socketPath":"/bu/api/basketball/socket.io","namespace":"ws://127.0.0.1:4900/bu/api/basketball","SystemLynxService":true},"modules":[{"name":"Games","module":{"db":{"itemName":"Game","collectionName":"Games"}}},{"name":"Stats","module":{}},{"name":"Seasons","module":{"db":{"itemName":"Season","collectionName":"Seasons"}}},{"name":"Aggregator","module":{"db":{},"COLLECTIONS":["Events","Games","Seasons","PlayerOverallPerformance","PlayerSeasonalPerformance","PlayerPerGamePerformance","TeamOverallPerformance","TeamSeasonalPerformance","TeamPerGamePerformance","Locations"]}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Basketball/files","STORAGE_URL":"http://127.0.0.1:4900/storage"}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/basketball","port":"4900","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://127.0.0.1:4100/bu/api/profiles","onLoad":null,"client":{"Badges":{},"Locations":{},"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Events":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Storage":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"specList":{"docs":["Basketball.md","Games.md","Seasons.get.md","Seasons.md","Stats.md"],"tests":["Aggregator.get.json","Games.acceptCallout.json","Games.add.json","Games.addAdmin.json","Games.addPlay.json","Games.editGameDetails.json","Games.editPlay.json","Games.endReview.json","Games.get.json","Games.getPage.json","Games.insertPlay.json","Games.rejectCallout.json","Games.removeAdmin.json","Games.setAdmins.json","Games.undoPlay.json","Games.updateTeam.json","Plugin.getMockPlays.json","Plugin.seasonsTest1.json","Plugin.seasonsTest2.json","Plugin.seasonsTest3.json","Plugin.seasonsTest4.json","Plugin.seasonsTest5.json","Seasons.acceptCallout.json","Seasons.add.json","Seasons.addAdmin.json","Seasons.addMatch.json","Seasons.addRound.json","Seasons.addTeam.json","Seasons.cancel.json","Seasons.edit.json","Seasons.editMatch.json","Seasons.editRound.json","Seasons.editTeam.json","Seasons.get.json","Seasons.getPage.json","Seasons.rejectCallout.json","Seasons.removeAdmin.json","Seasons.removeMatch.json","Seasons.removeRound.json","Seasons.removeTeam.json","Stats.get.json","Stats.getPage.json"]}},{"projectCode":"buAPI","serviceId":"Media","system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4000/bu/api/media/Broadcasts","route":"/bu/api/media/Broadcasts","name":"Broadcasts","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"getRtpCapabilities"},{"method":"post","fn":"getSenderTransportData"},{"method":"post","fn":"connectTransport"},{"method":"post","fn":"createSceneProducer"},{"method":"post","fn":"getReceiverTransportData"},{"method":"post","fn":"createSceneConsumers"},{"method":"post","fn":"resumeConsumer"},{"method":"post","fn":"switchScenes"},{"method":"post","fn":"startBroadcast"},{"method":"post","fn":"endBroadcast"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"setAdmins"},{"method":"post","fn":"addContributor"},{"method":"post","fn":"removeContributor"},{"method":"post","fn":"setContributors"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Posts","route":"/bu/api/media/Posts","name":"Posts","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"delete"},{"method":"post","fn":"edit"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Reactions","route":"/bu/api/media/Reactions","name":"Reactions","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"getPage"},{"method":"post","fn":"getCount"},{"method":"post","fn":"delete"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Storage","route":"/bu/api/media/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/SystemView","route":"/bu/api/media/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4000/bu/api/media/Plugin","route":"/bu/api/media/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockBroadcasts"},{"method":"post","fn":"clearMockReactions"},{"method":"post","fn":"clearMockPost"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/media","port":"4000","serviceUrl":"http://127.0.0.1:4000/bu/api/media","socketPath":"/bu/api/media/socket.io","namespace":"ws://127.0.0.1:4000/bu/api/media","SystemLynxService":true},"modules":[{"name":"Broadcasts","module":{"db":{"itemName":"Broadcast","collectionName":"Broadcasts"}}},{"name":"Posts","module":{"db":{"itemName":"Post","collectionName":"Posts"}}},{"name":"Reactions","module":{"db":{"itemName":"Reaction","collectionName":"Reactions"}}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Media/files","STORAGE_URL":"http://127.0.0.1:4000/storage"}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/media","port":"4000","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://127.0.0.1:4100/bu/api/profiles","onLoad":null,"client":{"Badges":{},"Locations":{},"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Events":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Storage":{},"SystemView":{},"Plugin":{}}},{"name":"Basketball","url":"http://127.0.0.1:4900/bu/api/basketball","onLoad":null,"client":{"Games":{},"Stats":{},"Seasons":{},"Aggregator":{},"Storage":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"specList":{"docs":["Broadcasts.md","Media.md","Posts-contract.md","Posts.md","Reactions.md","Storage.md"],"tests":["Broadcasts.add.json","Broadcasts.addAdmin.json","Broadcasts.addContributor.json","Broadcasts.get.json","Broadcasts.getPage.json","Broadcasts.removeAdmin.json","Broadcasts.removeContributor.json","Broadcasts.setAdmins.json","Broadcasts.setContributors.json","Posts.add.json","Posts.delete.json","Posts.edit.json","Posts.get.json","Posts.getPage.json","Reactions.add.json","Reactions.delete.json","Reactions.get.json","Reactions.getCount.json","Reactions.getPage.json"]}},{"projectCode":"buAPI","serviceId":"Networking","system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Chats","route":"/bu/api/networking/Chats","name":"Chats","methods":[{"method":"post","fn":"start"},{"method":"post","fn":"send"},{"method":"post","fn":"get"},{"method":"post","fn":"getMessages"},{"method":"post","fn":"undoMessage"},{"method":"post","fn":"addMember"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"addSeenBy"},{"method":"post","fn":"getAll"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Notifications","route":"/bu/api/networking/Notifications","name":"Notifications","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"updateStatus"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Storage","route":"/bu/api/networking/Storage","name":"Storage","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/SystemView","route":"/bu/api/networking/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:5100/bu/api/networking/Plugin","route":"/bu/api/networking/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockChats"},{"method":"post","fn":"clearMockNotifications"},{"method":"post","fn":"clearStorage"},{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/networking","port":"5100","serviceUrl":"http://127.0.0.1:5100/bu/api/networking","socketPath":"/bu/api/networking/socket.io","namespace":"ws://127.0.0.1:5100/bu/api/networking","SystemLynxService":true},"modules":[{"name":"Chats","module":{"db":{"itemName":"Chat","collectionName":"Chats"}}},{"name":"Notifications","module":{"db":{"itemName":"Notification","collectionName":"Notifications"}}},{"name":"Storage","module":{"STORAGE":"/Users/odionedwards/buAPI/Networking/files","STORAGE_URL":"http://127.0.0.1:5100/storage"}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/networking","port":"5100","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://127.0.0.1:4100/bu/api/profiles","onLoad":null,"client":{"Badges":{},"Locations":{},"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Events":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Storage":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"specList":{"docs":["Chats.md","Networking.md","Notifications.md","Shares.md"],"tests":["Chats.addMember.json","Chats.addSeenBy.json","Chats.get.json","Chats.getAll.json","Chats.getMessages.json","Chats.removeMember.json","Chats.send.json","Chats.start.json","Chats.undoMessage.json","Notifications.add.json","Notifications.get.json","Notifications.updateStatus.json"]}},{"projectCode":"buAPI","serviceId":"Mocks","system":{"connectionData":{"modules":[{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Badges","route":"/bu/api/mocks/Badges","name":"Badges","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Locations","route":"/bu/api/mocks/Locations","name":"Locations","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Users","route":"/bu/api/mocks/Users","name":"Users","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/UsersArchive","route":"/bu/api/mocks/UsersArchive","name":"UsersArchive","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Tournaments","route":"/bu/api/mocks/Tournaments","name":"Tournaments","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Teams","route":"/bu/api/mocks/Teams","name":"Teams","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Groups","route":"/bu/api/mocks/Groups","name":"Groups","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Events","route":"/bu/api/mocks/Events","name":"Events","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Follows","route":"/bu/api/mocks/Follows","name":"Follows","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Solicitations","route":"/bu/api/mocks/Solicitations","name":"Solicitations","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/PlayerOverallPerformance","route":"/bu/api/mocks/PlayerOverallPerformance","name":"PlayerOverallPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/PlayerSeasonalPerformance","route":"/bu/api/mocks/PlayerSeasonalPerformance","name":"PlayerSeasonalPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/PlayerPerGamePerformance","route":"/bu/api/mocks/PlayerPerGamePerformance","name":"PlayerPerGamePerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/TeamOverallPerformance","route":"/bu/api/mocks/TeamOverallPerformance","name":"TeamOverallPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/TeamSeasonalPerformance","route":"/bu/api/mocks/TeamSeasonalPerformance","name":"TeamSeasonalPerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/TeamPerGamePerformance","route":"/bu/api/mocks/TeamPerGamePerformance","name":"TeamPerGamePerformance","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Broadcasts","route":"/bu/api/mocks/Broadcasts","name":"Broadcasts","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Posts","route":"/bu/api/mocks/Posts","name":"Posts","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Reactions","route":"/bu/api/mocks/Reactions","name":"Reactions","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/People","route":"/bu/api/mocks/People","name":"People","methods":[{"method":"post","fn":"createUsers"},{"method":"post","fn":"createPopulatedUsers"},{"method":"post","fn":"createTeams"},{"method":"post","fn":"createPopulatedTeams"},{"method":"post","fn":"createTournaments"},{"method":"post","fn":"createPopulatedTournaments"},{"method":"post","fn":"createGroups"},{"method":"post","fn":"createPopulatedGroups"},{"method":"post","fn":"createEvents"},{"method":"post","fn":"createPopulatedEvents"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Games","route":"/bu/api/mocks/Games","name":"Games","methods":[{"method":"post","fn":"playOutGames"},{"method":"post","fn":"playOutExistingGames"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Seasons","route":"/bu/api/mocks/Seasons","name":"Seasons","methods":[{"method":"post","fn":"createPopulatedSeasons"},{"method":"post","fn":"playOutSeasons"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Media","route":"/bu/api/mocks/Media","name":"Media","methods":[{"method":"post","fn":"createPosts"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Scenarios","route":"/bu/api/mocks/Scenarios","name":"Scenarios","methods":[{"method":"post","fn":"buildArea"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/GamesDB","route":"/bu/api/mocks/GamesDB","name":"GamesDB","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/SeasonsDB","route":"/bu/api/mocks/SeasonsDB","name":"SeasonsDB","methods":[{"method":"post","fn":"find"},{"method":"post","fn":"findOne"},{"method":"post","fn":"updateOne"},{"method":"post","fn":"deleteOne"},{"method":"post","fn":"deleteMany"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/SystemView","route":"/bu/api/mocks/SystemView","name":"SystemView","methods":[{"method":"post","fn":"trace"},{"method":"post","fn":"log"},{"method":"post","fn":"warn"},{"method":"post","fn":"error"},{"method":"post","fn":"debug"},{"method":"post","fn":"getLog"},{"method":"post","fn":"clearLog"}]},{"namespace":"ws://127.0.0.1:4300/bu/api/mocks/Plugin","route":"/bu/api/mocks/Plugin","name":"Plugin","methods":[{"method":"post","fn":"saveDoc"},{"method":"post","fn":"getDoc"},{"method":"post","fn":"getTests"},{"method":"post","fn":"saveTest"},{"method":"post","fn":"deleteTest"},{"method":"post","fn":"getSpecList"},{"method":"post","fn":"getConnection"},{"method":"post","fn":"getLog"},{"method":"post","fn":"getManifest"}]}],"host":"127.0.0.1","route":"/bu/api/mocks","port":"4300","serviceUrl":"http://127.0.0.1:4300/bu/api/mocks","socketPath":"/bu/api/mocks/socket.io","namespace":"ws://127.0.0.1:4300/bu/api/mocks","SystemLynxService":true},"modules":[{"name":"Badges","__constructor":{},"module":{}},{"name":"Locations","__constructor":{},"module":{}},{"name":"Users","__constructor":{},"module":{}},{"name":"UsersArchive","__constructor":{},"module":{}},{"name":"Tournaments","__constructor":{},"module":{}},{"name":"Teams","__constructor":{},"module":{}},{"name":"Groups","__constructor":{},"module":{}},{"name":"Events","__constructor":{},"module":{}},{"name":"Follows","__constructor":{},"module":{}},{"name":"Solicitations","__constructor":{},"module":{}},{"name":"PlayerOverallPerformance","__constructor":{},"module":{}},{"name":"PlayerSeasonalPerformance","__constructor":{},"module":{}},{"name":"PlayerPerGamePerformance","__constructor":{},"module":{}},{"name":"TeamOverallPerformance","__constructor":{},"module":{}},{"name":"TeamSeasonalPerformance","__constructor":{},"module":{}},{"name":"TeamPerGamePerformance","__constructor":{},"module":{}},{"name":"Broadcasts","__constructor":{},"module":{}},{"name":"Posts","__constructor":{},"module":{}},{"name":"Reactions","__constructor":{},"module":{}},{"name":"People","module":{}},{"name":"Games","module":{}},{"name":"Seasons","module":{}},{"name":"Media","module":{}},{"name":"Scenarios","module":{}},{"name":"GamesDB","__constructor":{},"module":{}},{"name":"SeasonsDB","__constructor":{},"module":{}},{"name":"SystemView","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/mocks","port":"4300","host":"127.0.0.1","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Basketball","url":"http://127.0.0.1:4900/bu/api/basketball","onLoad":null,"client":{"Games":{},"Stats":{},"Seasons":{},"Aggregator":{},"Storage":{},"SystemView":{},"Plugin":{}}},{"name":"SystemViewUI","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{},"CLI":{}}}]},"specList":{"docs":["Mocks.md"],"tests":["Games.playOutGames.json","Media.createPosts.json","People.createPopulatedTeams.json","People.createUsers.json","Seasons.createPopulatedSeasons.json","Seasons.playOutSeasons.json"]}}]
|
package/api/index.js
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
const {
|
|
1
|
+
const { createClient, App } = require("systemlynx");
|
|
2
|
+
const { createCookieHttpClient } = require("../cli/cookieClient");
|
|
3
|
+
const { headersFor } = require("../cli/manifestHeaders");
|
|
2
4
|
const ConnectedServices = require("./Connections")();
|
|
3
5
|
const CLIHistory = require("./CLIHistory")();
|
|
4
|
-
|
|
6
|
+
// The UI server calls services the same way the CLI does: through the manifest-header client,
|
|
7
|
+
// so operator-authored headers (e.g. an Origin for a gated dev session — see cli/manifestHeaders.js)
|
|
8
|
+
// are attached to every outbound call and every probe. One resolver, shared with the CLI; the UI is
|
|
9
|
+
// driven off the same manifest format (RFC-007). Without this the UI cannot reach a gated service.
|
|
10
|
+
const httpClient = createCookieHttpClient();
|
|
11
|
+
const Client = createClient(httpClient);
|
|
5
12
|
const route = "systemview/api";
|
|
6
13
|
const host = "localhost";
|
|
7
14
|
const express = require("express");
|
|
8
15
|
const path = require("path");
|
|
9
16
|
|
|
10
17
|
const isUrl = (str) =>
|
|
11
|
-
/^(http:\/\/|https:\/\/)?((localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|([a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,
|
|
18
|
+
/^(http:\/\/|https:\/\/)?((localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|([a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,}))(:[0-9]{1,5})?(\/.*)?$/i.test(
|
|
12
19
|
str,
|
|
13
20
|
);
|
|
14
21
|
|
|
@@ -45,25 +52,43 @@ function updateSpecList(specList, projectCode, serviceId) {
|
|
|
45
52
|
}
|
|
46
53
|
function getServices(searchText) {
|
|
47
54
|
if (isUrl(searchText)) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const project = { ...service, projectCode: "SystemLynx", serviceId: "Service" };
|
|
52
|
-
connect(project);
|
|
53
|
-
return [project];
|
|
54
|
-
} else {
|
|
55
|
-
return getConnectionData(searchText);
|
|
56
|
-
}
|
|
55
|
+
// Always (re)pull from the URL — one URL brings in the whole project manifest. Don't short-circuit
|
|
56
|
+
// to a stored entry (the old path relabeled the project "SystemLynx" and skipped the manifest).
|
|
57
|
+
return getConnectionData(searchText);
|
|
57
58
|
} else {
|
|
58
59
|
return ConnectedServices.findProject(searchText);
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
|
|
63
|
+
// The UI's connect-by-URL. Always treats the input as a URL — no isUrl heuristic — so remote hosts
|
|
64
|
+
// and long TLDs (.global, .systems, …) that the heuristic mis-rejects still connect. Mirrors the
|
|
65
|
+
// CLI's `connect <url>`: probe → pull the whole project manifest.
|
|
66
|
+
function connectUrl(url) {
|
|
67
|
+
return getConnectionData(url);
|
|
68
|
+
}
|
|
69
|
+
|
|
62
70
|
async function getConnectionData(url) {
|
|
63
71
|
try {
|
|
64
|
-
const connectionData = await
|
|
72
|
+
const connectionData = await httpClient.request({ url });
|
|
65
73
|
if (!connectionData || !connectionData.SystemLynxService) return [];
|
|
66
74
|
const svc = Client.createService(connectionData);
|
|
75
|
+
|
|
76
|
+
// One URL → the whole project: try the plugin manifest first (every service), then fall back
|
|
77
|
+
// to this single service's connection, then a bare connected-services entry (no plugin).
|
|
78
|
+
try {
|
|
79
|
+
const manifest = await svc.Plugin.getManifest();
|
|
80
|
+
if (manifest && manifest.services && manifest.services.length) {
|
|
81
|
+
const projects = manifest.services.map((s) => ({
|
|
82
|
+
system: s.system,
|
|
83
|
+
projectCode: manifest.projectCode,
|
|
84
|
+
serviceId: s.serviceId,
|
|
85
|
+
specList: s.specList || { tests: [], docs: [] },
|
|
86
|
+
}));
|
|
87
|
+
projects.forEach(connect);
|
|
88
|
+
return projects;
|
|
89
|
+
}
|
|
90
|
+
} catch {}
|
|
91
|
+
|
|
67
92
|
let project;
|
|
68
93
|
try {
|
|
69
94
|
const connection = await svc.Plugin.getConnection();
|
|
@@ -105,6 +130,10 @@ function getProjects() {
|
|
|
105
130
|
connectionData: system.connectionData,
|
|
106
131
|
system,
|
|
107
132
|
specList: specList || { tests: [], docs: [] },
|
|
133
|
+
// Resolved headers for this service's origin (@file already deref'd to values, server-side —
|
|
134
|
+
// the browser has no filesystem). The UI calls svc.setHeaders(headers) after createService so
|
|
135
|
+
// every browser-run test/log/probe carries them. Same manifest.headers store as the CLI.
|
|
136
|
+
headers: headersFor(system.connectionData.serviceUrl),
|
|
108
137
|
});
|
|
109
138
|
});
|
|
110
139
|
return projects;
|
|
@@ -135,6 +164,7 @@ module.exports = function launchSystemView(port = 3000) {
|
|
|
135
164
|
})
|
|
136
165
|
.module("SystemView", {
|
|
137
166
|
connect,
|
|
167
|
+
connectUrl,
|
|
138
168
|
getServices,
|
|
139
169
|
getProjects,
|
|
140
170
|
updateSpecList,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"main.css": "/static/css/main.
|
|
4
|
-
"main.js": "/static/js/main.
|
|
3
|
+
"main.css": "/static/css/main.87b2fd6a.css",
|
|
4
|
+
"main.js": "/static/js/main.5d6e3f47.js",
|
|
5
5
|
"static/js/422.05c538a9.chunk.js": "/static/js/422.05c538a9.chunk.js",
|
|
6
6
|
"static/media/FontsFree-Net-SFMono-Regular.ttf": "/static/media/FontsFree-Net-SFMono-Regular.9647425ef282c28529df.ttf",
|
|
7
7
|
"static/media/loading.gif": "/static/media/loading.10ca842f103fd1282bdb.gif",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"static/media/check.svg": "/static/media/check.c17549c742b818356d1a95bfa3b0404a.svg",
|
|
13
13
|
"static/media/error.svg": "/static/media/error.1d9e99c1bb443d2374ef72a7205a5b71.svg",
|
|
14
14
|
"static/media/x.svg": "/static/media/x.f680188c9bc9ed62e3647ad587e1bea0.svg",
|
|
15
|
-
"main.
|
|
16
|
-
"main.
|
|
15
|
+
"main.87b2fd6a.css.map": "/static/css/main.87b2fd6a.css.map",
|
|
16
|
+
"main.5d6e3f47.js.map": "/static/js/main.5d6e3f47.js.map",
|
|
17
17
|
"422.05c538a9.chunk.js.map": "/static/js/422.05c538a9.chunk.js.map"
|
|
18
18
|
},
|
|
19
19
|
"entrypoints": [
|
|
20
|
-
"static/css/main.
|
|
21
|
-
"static/js/main.
|
|
20
|
+
"static/css/main.87b2fd6a.css",
|
|
21
|
+
"static/js/main.5d6e3f47.js"
|
|
22
22
|
]
|
|
23
23
|
}
|
package/build/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>SystemView</title><script defer="defer" src="/static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>SystemView</title><script defer="defer" src="/static/js/main.5d6e3f47.js"></script><link href="/static/css/main.87b2fd6a.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|