systemview 1.16.9 → 1.17.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.
package/README.md CHANGED
@@ -1,56 +1,172 @@
1
- # Establishing a connection between SystemView and the Test Services
1
+ # SystemView
2
2
 
3
- ## SystemView Plugin
3
+ A documentation and testing suite for [SystemLynx](https://github.com/Odion100/SystemLynx) services. SystemView gives you a browser-based UI to browse your service's modules and methods, read and write markdown documentation, build and run tests interactively, and execute saved test suites from the CLI.
4
4
 
5
- ```javascript
6
- const SystemView = require("systemView")({
7
- SystemViewConnection: "http://localhost:3000", //default
8
- SystemViewDocumentation: "./SystemView", //default
9
- projectCode: "ProjectName", //optional. Used to conveniently load multiple services as one project
10
- serviceId: "ServiceName", //required. If not included
11
- });
5
+ ---
12
6
 
13
- App.use(SystemView);
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install -g systemview
11
+ ```
12
+
13
+ > Requires Node >= 18
14
+
15
+ ---
16
+
17
+ ## Starting SystemView
18
+
19
+ ```bash
20
+ systemview # start on port 3000 (interactive)
21
+ systemview start 4000 # custom port
22
+ ```
23
+
24
+ Once running:
25
+ - **UI** → `http://localhost:3000`
26
+ - **API** → `http://localhost:3000/systemview/api`
27
+
28
+ ```bash
29
+ systemview open # open browser to home
30
+ systemview open myProject # open to project
31
+ systemview open myProject Basketball/Games/add # open to a specific method
32
+ systemview shutdown # stop the running instance
33
+ ```
34
+
35
+ ---
36
+
37
+ ## Connecting a SystemLynx Service
38
+
39
+ Install the plugin in your service project:
40
+
41
+ ```bash
42
+ npm install systemview-plugin
43
+ ```
44
+
45
+ Add it to your SystemLynx app:
46
+
47
+ ```js
48
+ const { App } = require("systemlynx");
49
+
50
+ App.startService({ route, port })
51
+ .module("Users", Users)
52
+ .module("Orders", Orders);
53
+
54
+ if (process.env.SYSTEMVIEW_HOST) {
55
+ const SystemViewPlugin = require("systemview-plugin")({
56
+ connection: process.env.SYSTEMVIEW_HOST, // e.g. "http://localhost:3000/systemview/api"
57
+ specs: "./specs", // local path for saving docs and tests
58
+ projectCode: "myProject", // groups services together in the UI
59
+ serviceId: "MyService", // name for this service
60
+ });
61
+ App.use(SystemViewPlugin);
62
+ }
63
+ ```
64
+
65
+ On startup the plugin:
66
+ 1. Connects the service to the SystemView UI
67
+ 2. Writes `systemview.manifest.json` to the project root — lets the CLI run tests without the SystemView server
68
+
69
+ ```json
70
+ {
71
+ "projectCode": "myProject",
72
+ "services": [
73
+ {
74
+ "serviceId": "MyService",
75
+ "system": {
76
+ "connectionData": {
77
+ "serviceUrl": "http://localhost:4100/my/api",
78
+ "modules": { ... },
79
+ "routing": { ... }
80
+ }
81
+ },
82
+ "specList": {
83
+ "docs": ["Users.md"],
84
+ "tests": ["Users.signUp.json"]
85
+ }
86
+ }
87
+ ]
88
+ }
89
+ ```
90
+
91
+ Add `systemview.manifest.json` to `.gitignore` — it regenerates each time the service starts.
92
+
93
+ ---
94
+
95
+ ## Using the UI
96
+
97
+ | Panel | Description |
98
+ |---|---|
99
+ | **Navigator** (left) | Browse connected projects, services, modules, and methods |
100
+ | **Documentation** (center) | Read and write markdown docs for the selected method |
101
+ | **Test Panel** (right) | Build, run, and save tests for the selected method |
102
+
103
+ URL pattern: `http://localhost:3000/:projectCode/:serviceId/:moduleName/:methodName`
104
+
105
+ ### Building a test
106
+
107
+ - **Before** — setup calls that run before the main test
108
+ - **Main** — the method call being tested, with argument inputs and response validations
109
+ - **Events** — WebSocket events to listen for during the test
110
+ - **After** — teardown calls that run after the main test
111
+
112
+ Click **Run** to execute the sequence. Click **Save** to persist the test to the service's `specs/` folder.
113
+
114
+ ---
115
+
116
+ ## Running Tests from the CLI
117
+
118
+ ```bash
119
+ systemview test myProject # run all tests for a project
120
+ systemview test myProject Users # filter by module
121
+ systemview test myProject Users.signUp # filter by method
122
+ systemview test myProject --json # structured JSON output for CI/agents
123
+ systemview test myProject --verbose # show args passed to each call
14
124
  ```
15
125
 
16
- Every time the app reload the plugin will load the SystemView Service using the `SystemViewConnection` value provided. It also adds a local module called `SystemView` to the test Service with the following methods and event:
126
+ Starts the SystemView server headlessly if needed, runs all tests, exits with `0` (all passed) or `1` (any failure).
127
+
128
+ ---
17
129
 
18
- - `SystemView.saveDoc`
19
- - `SystemView.getDoc`
20
- - `SystemView.emit("specs-updated")`
130
+ ## Registering Services Without the Plugin
21
131
 
22
- Once the test Service is ready the plugin will send the `system` data to the SystemView Service via the following method call.
132
+ ```bash
133
+ # Probe a live service and write its connection data to systemview.manifest.json
134
+ systemview connect MyService http://localhost:4100/my/api
23
135
 
24
- ```javascript
25
- SystemView.connect({
26
- system,
27
- projectCode,
28
- serviceId,
29
- });
136
+ # Re-probe all services already in the manifest
137
+ systemview connect
30
138
  ```
31
139
 
32
- The SystemView Service will Store the `system` data in memory. When the SystemView app makes a request for a connection (`SystemView.getConnection`), then the it will return the data from memory or from the service directly
140
+ ---
33
141
 
34
- > Normally it's not a good idea to hold data in memory or maintain state with in a service but since this is a local project it won't be an issue.
142
+ ## Calling Methods Ad-Hoc
35
143
 
36
- ## Loading One or More Services
144
+ ```bash
145
+ # Human-readable
146
+ systemview probe MyService.Users.getUser '{"userId":"123"}'
37
147
 
38
- 1. User enters a `projectCode` or a `serviceUrl` in the search input
39
- 2. The `SystemView.api.getConnection(projectCode || servicerUrl)` method will be called. This method will facilitate the process of retrieving the `connectionData` for the Service or Services being searched.
148
+ # JSON output (agent/CI use)
149
+ systemview probe MyService.Users.getUser '{"userId":"123"}' --json
150
+
151
+ # Multiple positional args (JSON array)
152
+ systemview probe MyService.String.repeat '["ha", 3]'
153
+ ```
40
154
 
41
- - if a url is passed it will first check for a `system` in memory with that url and return that, or make a request for the `connectionData` and return that
42
- - if a `projectCode` is passed the service will check for a `system` in memory with the same `projectCode` and return that data to the app, or a 404 error
43
- > It's ok to use memory as this is a local project
155
+ ---
44
156
 
45
- ## Saving Tests and Documentation
157
+ ## CLI Reference
46
158
 
47
- 1. SystemView plugin creates a SystemView module in the test Service
48
- - `SystemView.saveDoc`
49
- - `SystemView.getDoc`
50
- 2. The plugin also adds the SystemView service and calls `SystemView.connect` when the app is read
51
- 3. The users enters a project code in the search input
52
- 4.
159
+ | Command | Description |
160
+ |---|---|
161
+ | `systemview [start] [port]` | Start SystemView UI (interactive, default port 3000) |
162
+ | `systemview test <projectCode> [namespace]` | Run saved tests |
163
+ | `systemview connect <serviceId> <url>` | Register a service, write manifest |
164
+ | `systemview connect` | Re-probe all services in existing manifest |
165
+ | `systemview probe <Service.Module.method> [args]` | Call a method ad-hoc |
166
+ | `systemview open [projectCode] [namespace]` | Open the UI in a browser |
167
+ | `systemview shutdown [port]` | Stop a running instance |
168
+ | `systemview help` | Print help |
53
169
 
54
- ## Quick Testing Random Services (Without the plugin)
170
+ **Flags:** `--json` · `--verbose` · `--manifest <path>`
55
171
 
56
- 1. User enters a service url in the search input
172
+ Full reference: [`docs/cli.md`](docs/cli.md)
@@ -1 +1 @@
1
- [{"projectCode":"buAPI","serviceId":"Profiles","system":{"connectionData":{"modules":[{"namespace":"ws://localhost: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":"getLocation"}]},{"namespace":"ws://localhost: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"}]},{"namespace":"ws://localhost: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"}]},{"namespace":"ws://localhost: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":"addMember"},{"method":"post","fn":"addTeam"},{"method":"post","fn":"addTournament"},{"method":"post","fn":"removeMember"},{"method":"post","fn":"removeTeam"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"removeTournament"},{"method":"post","fn":"updateStatus"}]},{"namespace":"ws://localhost:4100/bu/api/profiles/Follows","route":"/bu/api/profiles/Follows","name":"Follows","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"delete"}]},{"namespace":"ws://localhost: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://localhost:4100/bu/api/profiles/Aggregator","route":"/bu/api/profiles/Aggregator","name":"Aggregator","methods":[{"method":"post","fn":"get"}]},{"namespace":"ws://localhost: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":"createMockUsers"},{"method":"post","fn":"createReadyTeam"},{"method":"post","fn":"createMultipleTeams"},{"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":"/bu/api/profiles","port":4100,"serviceUrl":"http://localhost:4100/bu/api/profiles","socketPath":"/bu/api/profiles/socket.io","namespace":"ws://localhost:4100/bu/api/profiles","SystemLynxService":true},"modules":[{"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":"Follows","module":{"db":{"itemName":"Follow","collectionName":"Follows"}}},{"name":"Solicitations","module":{"db":{"itemName":"Solicitation","collectionName":"Solicitations"}}},{"name":"Aggregator","module":{"db":{},"COLLECTIONS":["Users","Teams","Tournaments","Groups","Follows","Solicitations"]}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/profiles","port":4100,"host":"localhost","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"specList":{"docs":["Basketball.md","Follows.md","Groups.md","Solicitations.md","Teams.md","Tournaments.md","Users.md","Users.signIn.md","Users.signUp.md","logo.png"],"tests":["Aggregator.get.json","Follows.add.json","Follows.delete.json","Follows.get.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","Solicitations.accept.json","Solicitations.cancel.json","Solicitations.get.json","Solicitations.reject.json","Solicitations.resend.json","Solicitations.send.json","Teams.add.json","Teams.addAdmin.json","Teams.addMember.json","Teams.edit.json","Teams.get.json","Teams.removeAdmin.json","Teams.removeMember.json","Teams.updateStatus.json","Tournaments.add.json","Tournaments.addAdmin.json","Tournaments.addMember.json","Tournaments.addTeam.json","Tournaments.edit.json","Tournaments.get.json","Tournaments.removeAdmin.json","Tournaments.removeMember.json","Tournaments.removeTeam.json","Tournaments.updateStatus.json","Users.edit.json","Users.exists.json","Users.get.json","Users.getPage.json","Users.isRecognized.json","Users.quickSignUp.json","Users.signIn.json","Users.signOut.json","Users.signUp.json"]}},{"projectCode":"buAPI","serviceId":"Storage","system":{"connectionData":{"modules":[{"namespace":"ws://localhost:5200/bu/api/storage/Files","route":"/bu/api/storage/Files","name":"Files","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"delete"},{"method":"post","fn":"list"}]},{"namespace":"ws://localhost:5200/bu/api/storage/Plugin","route":"/bu/api/storage/Plugin","name":"Plugin","methods":[{"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":"localhost","route":"/bu/api/storage","port":5200,"serviceUrl":"http://localhost:5200/bu/api/storage","socketPath":"/bu/api/storage/socket.io","namespace":"ws://localhost:5200/bu/api/storage","SystemLynxService":true},"modules":[{"name":"Files","module":{}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/storage","port":5200,"host":"localhost","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://localhost:4100/bu/api/profiles","onLoad":null,"client":{"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"specList":{"docs":["Files.md"],"tests":["Files.delete.json","Files.list.json","Files.save.json"]}},{"projectCode":"buAPI","serviceId":"Networking","system":{"connectionData":{"modules":[{"namespace":"ws://localhost: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://localhost:5100/bu/api/networking/Posts","route":"/bu/api/networking/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://localhost:5100/bu/api/networking/Reactions","route":"/bu/api/networking/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://localhost: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://localhost:5100/bu/api/networking/Plugin","route":"/bu/api/networking/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockChats"},{"method":"post","fn":"clearMockPost"},{"method":"post","fn":"clearMockReactions"},{"method":"post","fn":"clearMockNotifications"},{"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":"/bu/api/networking","port":5100,"serviceUrl":"http://localhost:5100/bu/api/networking","socketPath":"/bu/api/networking/socket.io","namespace":"ws://localhost:5100/bu/api/networking","SystemLynxService":true},"modules":[{"name":"Chats","module":{"db":{"itemName":"Chat","collectionName":"Chats"}}},{"name":"Posts","module":{"db":{"itemName":"Post","collectionName":"Posts"}}},{"name":"Reactions","module":{"db":{"itemName":"Reaction","collectionName":"Reactions"}}},{"name":"Notifications","module":{"db":{"itemName":"Notification","collectionName":"Notifications"}}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/networking","port":5100,"host":"localhost","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://localhost:4100/bu/api/profiles","onLoad":null,"client":{"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"specList":{"docs":["Chats.md","Notifications.md","Posts.md","Reactions.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","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","x Chats.getMessages x.json"]}},{"projectCode":"buAPI","serviceId":"Basketball","system":{"connectionData":{"modules":[{"namespace":"ws://localhost:4900/bu/api/basketball/Courts","route":"/bu/api/basketball/Courts","name":"Courts","methods":[{"method":"post","fn":"save"},{"method":"post","fn":"get"}]},{"namespace":"ws://localhost:4900/bu/api/basketball/Events","route":"/bu/api/basketball/Events","name":"Events","methods":[{"method":"post","fn":"get"},{"method":"post","fn":"edit"},{"method":"post","fn":"add"},{"method":"post","fn":"cancel"},{"method":"post","fn":"rsvp"},{"method":"post","fn":"cancelRsvp"},{"method":"post","fn":"removeMember"}]},{"namespace":"ws://localhost:4900/bu/api/basketball/Games","route":"/bu/api/basketball/Games","name":"Games","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"method":"post","fn":"addAdmin"},{"method":"post","fn":"removeAdmin"},{"method":"post","fn":"addPlay"},{"method":"post","fn":"editPlay"},{"method":"post","fn":"undoPlay"},{"method":"post","fn":"endReview"},{"method":"post","fn":"acceptCallout"},{"method":"post","fn":"rejectCallout"}]},{"namespace":"ws://localhost:4900/bu/api/basketball/Stats","route":"/bu/api/basketball/Stats","name":"Stats","methods":[{"method":"post","fn":"get"}]},{"namespace":"ws://localhost:4900/bu/api/basketball/Seasons","route":"/bu/api/basketball/Seasons","name":"Seasons","methods":[{"method":"post","fn":"add"},{"method":"post","fn":"get"},{"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://localhost:4900/bu/api/basketball/Aggregator","route":"/bu/api/basketball/Aggregator","name":"Aggregator","methods":[{"method":"post","fn":"get"}]},{"namespace":"ws://localhost:4900/bu/api/basketball/Plugin","route":"/bu/api/basketball/Plugin","name":"Plugin","methods":[{"method":"post","fn":"clearMockCourts"},{"method":"post","fn":"clearMockEvents"},{"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":"playOutMockRound"},{"method":"post","fn":"seedCourts"},{"method":"post","fn":"seedLocations"},{"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":"/bu/api/basketball","port":4900,"serviceUrl":"http://localhost:4900/bu/api/basketball","socketPath":"/bu/api/basketball/socket.io","namespace":"ws://localhost:4900/bu/api/basketball","SystemLynxService":true},"modules":[{"name":"Courts","module":{"db":{"itemName":"Court","collectionName":"Courts"}}},{"name":"Events","module":{"db":{"itemName":"Event","collectionName":"Events"}}},{"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","Courts","Neighborhoods","Cities","States"]}},{"name":"Plugin","module":{}}],"routing":{"route":"bu/api/basketball","port":4900,"host":"localhost","protocol":"http","ssl":null,"staticRouting":true},"services":[{"name":"Profiles","url":"http://localhost:4100/bu/api/profiles","onLoad":null,"client":{"Users":{},"Teams":{},"Tournaments":{},"Groups":{},"Follows":{},"Solicitations":{},"Aggregator":{},"Plugin":{}}},{"name":"SystemView","url":"http://localhost:3000/systemview/api","onLoad":null,"client":{"SystemView":{}}}]},"specList":{"docs":["Courts.md","Events.md","Games.md","Seasons.get.md","Stats.md"],"tests":["Aggregator.get.json","Courts.get.json","Courts.save.json","Events.add.json","Events.cancel.json","Events.cancelRsvp.json","Events.edit.json","Events.get.json","Events.removeMember.json","Events.rsvp.json","Games.acceptCallout.json","Games.add.json","Games.addAdmin.json","Games.addPlay.json","Games.editPlay.json","Games.endReview.json","Games.get.json","Games.rejectCallout.json","Games.removeAdmin.json","Games.undoPlay.json","Plugin.seasonsTest1.json","Plugin.seasonsTest2.json","Plugin.seasonsTest3.json","Plugin.seasonsTest4.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.rejectCallout.json","Seasons.removeAdmin.json","Seasons.removeMatch.json","Seasons.removeRound.json","Seasons.removeTeam.json","Stats.get.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"]}},{"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,7 +1,7 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "/static/css/main.2c749bba.css",
4
- "main.js": "/static/js/main.8a2a5b5a.js",
4
+ "main.js": "/static/js/main.e94b392a.js",
5
5
  "static/js/422.3649b867.chunk.js": "/static/js/422.3649b867.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",
@@ -13,11 +13,11 @@
13
13
  "static/media/error.svg": "/static/media/error.1d9e99c1bb443d2374ef72a7205a5b71.svg",
14
14
  "static/media/x.svg": "/static/media/x.f680188c9bc9ed62e3647ad587e1bea0.svg",
15
15
  "main.2c749bba.css.map": "/static/css/main.2c749bba.css.map",
16
- "main.8a2a5b5a.js.map": "/static/js/main.8a2a5b5a.js.map",
16
+ "main.e94b392a.js.map": "/static/js/main.e94b392a.js.map",
17
17
  "422.3649b867.chunk.js.map": "/static/js/422.3649b867.chunk.js.map"
18
18
  },
19
19
  "entrypoints": [
20
20
  "static/css/main.2c749bba.css",
21
- "static/js/main.8a2a5b5a.js"
21
+ "static/js/main.e94b392a.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.8a2a5b5a.js"></script><link href="/static/css/main.2c749bba.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
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.e94b392a.js"></script><link href="/static/css/main.2c749bba.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>