systemview 1.17.0 → 1.18.0

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.
@@ -1 +1 @@
1
- [{"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":"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"}]},{"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/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"}]}],"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":"Plugin","module":{}}],"routing":{"route":"bu/api/profiles","port":"4100","host":"127.0.0.1","protocol":"http","ssl":null},"services":[{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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.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"]}},{"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/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"}]}],"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":"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":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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":"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/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":"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"}]}],"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":"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":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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/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"}]}],"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"},"router":{"_events":{},"_eventsCount":2,"_maxListeners":null}}},{"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":"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":{},"Plugin":{}}},{"name":"Basketball","url":"http://127.0.0.1:4900/bu/api/basketball","onLoad":null,"client":{"Games":{},"Stats":{},"Seasons":{},"Aggregator":{},"Storage":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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":"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"}]},{"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/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"}]}],"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":"Plugin","module":{}}],"routing":{"route":"test/api","port":5555},"services":[{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"specList":{"docs":[],"tests":["Math.add.json","Math.subtract.json","String.concat.json","String.repeat.json"]}}]
1
+ [{"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":"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"}]},{"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/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"}]}],"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":"Plugin","module":{}}],"routing":{"route":"bu/api/profiles","port":"4100","host":"127.0.0.1","protocol":"http","ssl":null},"services":[{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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.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"]}},{"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/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"}]}],"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":"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":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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":"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/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":"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"}]}],"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":"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":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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/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"}]}],"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"},"router":{"_events":{},"_eventsCount":2,"_maxListeners":null}}},{"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":"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":{},"Plugin":{}}},{"name":"Basketball","url":"http://127.0.0.1:4900/bu/api/basketball","onLoad":null,"client":{"Games":{},"Stats":{},"Seasons":{},"Aggregator":{},"Storage":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"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"]}}]
@@ -1,6 +1,8 @@
1
1
  const fs = require("fs");
2
2
  const path = require("path");
3
- const { HttpClient, Client } = require("systemlynx");
3
+ const { HttpClient } = require("systemlynx");
4
+ const { createCookieClient } = require("./cookieClient");
5
+ const Client = createCookieClient();
4
6
  const log = require("./logger");
5
7
 
6
8
  async function probeService(url) {
@@ -0,0 +1,91 @@
1
+ const axios = require("axios").default;
2
+ const FormData = require("form-data");
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const { createClient } = require("systemlynx");
6
+
7
+ const COOKIE_FILE = path.resolve(process.cwd(), "systemview.cookies.json");
8
+
9
+ function readCookies() {
10
+ try {
11
+ return JSON.parse(fs.readFileSync(COOKIE_FILE, "utf8"));
12
+ } catch {
13
+ return {};
14
+ }
15
+ }
16
+
17
+ function captureCookies(setCookieHeaders) {
18
+ if (!setCookieHeaders || !setCookieHeaders.length) return;
19
+ const existing = readCookies();
20
+ let changed = false;
21
+ setCookieHeaders.forEach((header) => {
22
+ const [pair] = header.split(";");
23
+ const eqIdx = pair.indexOf("=");
24
+ if (eqIdx === -1) return;
25
+ const name = pair.slice(0, eqIdx).trim();
26
+ const value = pair.slice(eqIdx + 1).trim();
27
+ if (name) {
28
+ existing[name] = value;
29
+ changed = true;
30
+ }
31
+ });
32
+ if (changed) fs.writeFileSync(COOKIE_FILE, JSON.stringify(existing, null, 2));
33
+ }
34
+
35
+ function cookieHeader() {
36
+ const cookies = readCookies();
37
+ const pairs = Object.entries(cookies)
38
+ .map(([k, v]) => `${k}=${v}`)
39
+ .join("; ");
40
+ return pairs || null;
41
+ }
42
+
43
+ function createCookieHttpClient() {
44
+ return {
45
+ request: async ({ method = "get", url, body: data, headers }) => {
46
+ method = method.toLowerCase();
47
+ const cookie = cookieHeader();
48
+ if (cookie) headers = { ...headers, Cookie: cookie };
49
+ try {
50
+ const res = await axios({ url, method, headers, data });
51
+ captureCookies(res.headers["set-cookie"]);
52
+ if (res.status >= 400) throw res.data;
53
+ return res.data;
54
+ } catch (error) {
55
+ if (!error.isAxiosError) throw error;
56
+ if (!error.response) throw error;
57
+ if (!error.response.data) throw error;
58
+ throw error.response.data;
59
+ }
60
+ },
61
+ upload: async ({ url, formData, headers }) => {
62
+ const { file, files, __arguments } = formData;
63
+ const form = new FormData();
64
+ if (file) form.append("file", file, path.basename(file.path));
65
+ if (files) files.forEach((f) => form.append("files", f, path.basename(f.path)));
66
+ if (__arguments) form.append("__arguments", JSON.stringify(__arguments));
67
+ const cookie = cookieHeader();
68
+ const allHeaders = {
69
+ ...(cookie ? { Cookie: cookie } : {}),
70
+ ...headers,
71
+ "Content-Type": "multipart/form-data",
72
+ };
73
+ try {
74
+ const res = await axios.post(url, form, { headers: allHeaders });
75
+ captureCookies(res.headers["set-cookie"]);
76
+ if (res.status >= 400) throw res.data;
77
+ return res.data;
78
+ } catch (error) {
79
+ if (!error.isAxiosError) throw error;
80
+ if (!error.response) throw error;
81
+ if (!error.response.data) throw error;
82
+ throw error.response.data;
83
+ }
84
+ },
85
+ };
86
+ }
87
+
88
+ module.exports = {
89
+ createCookieHttpClient,
90
+ createCookieClient: () => createClient(createCookieHttpClient()),
91
+ };
package/cli/probe.js CHANGED
@@ -1,6 +1,6 @@
1
1
  const fs = require("fs");
2
2
  const path = require("path");
3
- const { Client } = require("systemlynx");
3
+ const { createCookieClient } = require("./cookieClient");
4
4
  const log = require("./logger");
5
5
 
6
6
  module.exports = async function probe(namespace, argsStr, { json = false, manifest: manifestPath } = {}) {
@@ -51,7 +51,7 @@ module.exports = async function probe(namespace, argsStr, { json = false, manife
51
51
  if (!json) log.info(`${serviceId}.${moduleName}.${methodName}(${argsStr || ""})`);
52
52
 
53
53
  try {
54
- const client = Client.createService(service.system.connectionData);
54
+ const client = createCookieClient().createService(service.system.connectionData);
55
55
  const result = await client[moduleName][methodName](...args);
56
56
  if (json) {
57
57
  process.stdout.write(JSON.stringify({ serviceId, moduleName, methodName, args, result }, null, 2) + "\n");
package/cli/runTests.js CHANGED
@@ -1,6 +1,7 @@
1
1
  const fs = require("fs");
2
2
  const path = require("path");
3
- const { Client } = require("systemlynx");
3
+ const { createCookieClient } = require("./cookieClient");
4
+ const Client = createCookieClient();
4
5
  const { initializeSavedTests } = require("../testing-utilities/transformTests");
5
6
  const FullTestController = require("../testing-utilities/FullTestController");
6
7
  const log = require("./logger");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "systemview",
3
3
  "description": "A documentation and testing suite for SystemLynx",
4
- "version": "1.17.0",
4
+ "version": "1.18.0",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
7
7
  "systemview": "cli/index.js"