@into-cps-association/libms 0.4.3 → 0.4.5

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.
Files changed (84) hide show
  1. package/.env +6 -0
  2. package/DEVELOPER.md +34 -9
  3. package/HTTP.md +12 -0
  4. package/README.md +288 -10
  5. package/config/.env.default +1 -1
  6. package/coverage/clover.xml +162 -0
  7. package/coverage/cobertura-coverage.xml +306 -0
  8. package/coverage/coverage-final.json +8 -0
  9. package/coverage/lcov-report/base.css +224 -0
  10. package/coverage/lcov-report/block-navigation.js +87 -0
  11. package/coverage/lcov-report/favicon.png +0 -0
  12. package/coverage/lcov-report/index.html +176 -0
  13. package/coverage/lcov-report/prettify.css +1 -0
  14. package/coverage/lcov-report/prettify.js +2 -0
  15. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  16. package/coverage/lcov-report/sorter.js +196 -0
  17. package/coverage/lcov-report/src/bootstrap.ts.html +196 -0
  18. package/coverage/lcov-report/src/cloudcmd/cloudcmd.ts.html +181 -0
  19. package/coverage/lcov-report/src/cloudcmd/index.html +116 -0
  20. package/coverage/lcov-report/src/files/files.module.ts.html +112 -0
  21. package/coverage/lcov-report/src/files/index.html +116 -0
  22. package/coverage/lcov-report/src/files/resolvers/files.resolver.ts.html +154 -0
  23. package/coverage/lcov-report/src/files/resolvers/index.html +116 -0
  24. package/coverage/lcov-report/src/files/services/files-service.factory.ts.html +151 -0
  25. package/coverage/lcov-report/src/files/services/index.html +131 -0
  26. package/coverage/lcov-report/src/files/services/local-files.service.ts.html +313 -0
  27. package/coverage/lcov-report/src/index.html +131 -0
  28. package/coverage/lcov-report/src/types.ts.html +361 -0
  29. package/coverage/lcov.info +237 -0
  30. package/dist/src/app.module.d.ts +1 -0
  31. package/dist/src/app.module.js +36 -0
  32. package/dist/src/app.module.js.map +1 -0
  33. package/dist/src/bootstrap.d.ts +7 -0
  34. package/dist/src/bootstrap.js +31 -0
  35. package/dist/src/bootstrap.js.map +1 -0
  36. package/dist/src/cloudcmd/cloudcmd.d.ts +7 -0
  37. package/dist/src/cloudcmd/cloudcmd.js +22 -0
  38. package/dist/src/cloudcmd/cloudcmd.js.map +1 -0
  39. package/dist/src/files/files.module.d.ts +1 -0
  40. package/dist/src/files/files.module.js +21 -0
  41. package/dist/src/files/files.module.js.map +1 -0
  42. package/dist/src/files/interfaces/files.service.interface.d.ts +5 -0
  43. package/dist/src/files/interfaces/files.service.interface.js +3 -0
  44. package/dist/src/files/interfaces/files.service.interface.js.map +1 -0
  45. package/dist/src/files/resolvers/files.resolver.d.ts +8 -0
  46. package/dist/src/files/resolvers/files.resolver.js +49 -0
  47. package/dist/src/files/resolvers/files.resolver.js.map +1 -0
  48. package/dist/src/files/services/files-service.factory.d.ts +12 -0
  49. package/dist/src/files/services/files-service.factory.js +40 -0
  50. package/dist/src/files/services/files-service.factory.js.map +1 -0
  51. package/dist/src/files/services/local-files.service.d.ts +11 -0
  52. package/dist/src/files/services/local-files.service.js +77 -0
  53. package/dist/src/files/services/local-files.service.js.map +1 -0
  54. package/dist/src/main.d.ts +2 -0
  55. package/dist/src/main.js +20 -0
  56. package/dist/src/main.js.map +1 -0
  57. package/dist/src/types.d.ts +43 -0
  58. package/dist/src/types.js +181 -0
  59. package/dist/src/types.js.map +1 -0
  60. package/dist/test/cloudcmd/cloudcmd.spec.d.ts +1 -0
  61. package/dist/test/cloudcmd/cloudcmd.spec.js +35 -0
  62. package/dist/test/cloudcmd/cloudcmd.spec.js.map +1 -0
  63. package/dist/test/e2e/app.e2e.spec.d.ts +1 -0
  64. package/dist/test/e2e/app.e2e.spec.js +53 -0
  65. package/dist/test/e2e/app.e2e.spec.js.map +1 -0
  66. package/dist/test/integration/files.service.integration.spec.d.ts +1 -0
  67. package/dist/test/integration/files.service.integration.spec.js +51 -0
  68. package/dist/test/integration/files.service.integration.spec.js.map +1 -0
  69. package/dist/test/testUtil.d.ts +90 -0
  70. package/dist/test/testUtil.js +173 -0
  71. package/dist/test/testUtil.js.map +1 -0
  72. package/dist/test/unit/files-service.factory.unit.spec.d.ts +1 -0
  73. package/dist/test/unit/files-service.factory.unit.spec.js +32 -0
  74. package/dist/test/unit/files-service.factory.unit.spec.js.map +1 -0
  75. package/dist/test/unit/files.resolver.unit.spec.d.ts +1 -0
  76. package/dist/test/unit/files.resolver.unit.spec.js +56 -0
  77. package/dist/test/unit/files.resolver.unit.spec.js.map +1 -0
  78. package/dist/test/unit/local-files.service.unit.spec.d.ts +1 -0
  79. package/dist/test/unit/local-files.service.unit.spec.js +84 -0
  80. package/dist/test/unit/local-files.service.unit.spec.js.map +1 -0
  81. package/dist/tsconfig.tsbuildinfo +1 -0
  82. package/inside.png +0 -0
  83. package/package.json +1 -1
  84. package/top-level.png +0 -0
package/.env ADDED
@@ -0,0 +1,6 @@
1
+ PORT='4001'
2
+ MODE='local'
3
+ LOCAL_PATH ='/home/dtaas/Documents/git/into-cps/DTaaS/files'
4
+ LOG_LEVEL='debug'
5
+ APOLLO_PATH='/lib'
6
+ GRAPHQL_PLAYGROUND='true'
package/DEVELOPER.md CHANGED
@@ -37,16 +37,47 @@ APOLLO_PATH='/lib'
37
37
  GRAPHQL_PLAYGROUND='true'
38
38
  ```
39
39
 
40
- ## :package: :ship: NPM package
40
+ ## Service Endpoint
41
+
42
+ The URL endpoint for this microservice is located at: `localhost:PORT/lib`
43
+
44
+ The [API](./API.md) page shows sample queries and responses.
45
+
46
+ ## :package: :ship: Packages
47
+
48
+ ### Docker images
49
+
50
+ The docker version of lib microservice is packaged with the DTaaS
51
+ application release.
52
+ Please see [publishing](../../docker/README.md) page
53
+ for more information publishing docker images.
54
+
55
+ ### Default NPM Registry
56
+
57
+ The default registry for npm packages is [npmjs](https://registry.npmjs.org).
58
+
59
+ ```bash
60
+ sudo npm install -g @into-cps-association/libms
61
+ ```
62
+
63
+ The steps for publishing the package to npmjs are listed in
64
+ [npm packages](../../docs/developer/npm-packages.md) page.
41
65
 
42
- ### Github Package Registry
66
+ The libms is also published on this registry, usually per release
67
+ of the DTaaS application. The package on npmjs is more stable
68
+ than the package on github npm registry.
69
+
70
+ ### Github NPM Package Registry
43
71
 
44
72
  The Github actions workflow of
45
73
  [lib microservice](../../.github/workflows/lib-ms.yml) publishes the **libms**
46
74
  into
47
75
  [packages](https://github.com/orgs/INTO-CPS-Association/packages?repo_name=DTaaS).
48
76
 
49
- ### Verdaccio - Local Package Registry
77
+ A new libmspackage is published to github packages for each version
78
+ of libms microservice.
79
+
80
+ ### Verdaccio - Local NPM Package Registry
50
81
 
51
82
  Use the instructions in
52
83
  [publish npm package](../../docs/developer/npm-packages.md) for help
@@ -69,9 +100,3 @@ yarn publish #increments version, publishes to registry and adds a git tag
69
100
  ```bash
70
101
  npm unpublish --registry http://localhost:4873/ @into-cps-association/libms@0.2.0
71
102
  ```
72
-
73
- ## Service Endpoint
74
-
75
- The URL endpoint for this microservice is located at: `localhost:PORT/lib`
76
-
77
- The [API](./API.md) page shows sample queries and responses.
package/HTTP.md ADDED
@@ -0,0 +1,12 @@
1
+ # HTTP File Server
2
+
3
+ Endpoint: `localhost:PORT/lib/files`
4
+
5
+ This option needs to be enabled with `-H http.json` flag.
6
+ If enabled, the 'localhost:PORT/lib/files' becomes available.
7
+ The regular file upload and download options become available.
8
+ Here are sample screenshots.
9
+
10
+ ![top-level](top-level.png)
11
+
12
+ ![inside](inside.png)
package/README.md CHANGED
@@ -8,7 +8,23 @@ It has two features:
8
8
 
9
9
  ## :arrow_down: Install
10
10
 
11
- The package is available in Github
11
+ ### Default NPM Registry
12
+
13
+ The default registry for npm packages is [npmjs](https://registry.npmjs.org).
14
+ Install the package with the following commands
15
+
16
+ ```bash
17
+ sudo npm install -g @into-cps-association/libms
18
+ ```
19
+
20
+ The package on [npmjs](https://registry.npmjs.org) is published
21
+ less frequently than the one on Github NPM Registry. But
22
+ the package on npmjs is more stable version of libms and should
23
+ be used for production purposes.
24
+
25
+ ### Github NPM Registry
26
+
27
+ The package is also available in Github
12
28
  [packages registry](https://github.com/orgs/INTO-CPS-Association/packages).
13
29
 
14
30
  Set the registry and install the package with the following commands
@@ -40,10 +56,10 @@ GRAPHQL_PLAYGROUND='false' or 'true'
40
56
 
41
57
  The `LOCAL_PATH` variable is the absolute filepath to the
42
58
  location of the local directory which will be served to users
43
- by the Library microservice. This
44
- [sample configuration file](./config/.env.default) can be used.
59
+ by the Library microservice.
45
60
 
46
61
  Replace the default values the appropriate values for your setup.
62
+ Please save this config in a file.
47
63
 
48
64
  ## :rocket: Use
49
65
 
@@ -105,14 +121,276 @@ libms -H FILE-PATH
105
121
  libms --http FILE-PATH
106
122
  ```
107
123
 
108
- A sample configuration is [available](./config/http.json).
124
+ <details>
125
+ <summary>Please see this sample HTTP config file</summary>
126
+
127
+ ```json
128
+ {
129
+ "name": "DTaaS Fileserver",
130
+ "auth": false,
131
+ "editor": "edward",
132
+ "packer": "zip",
133
+ "diff": true,
134
+ "zip": true,
135
+ "buffer": true,
136
+ "dirStorage": true,
137
+ "online": false,
138
+ "open": false,
139
+ "oneFilePanel": true,
140
+ "keysPanel": false,
141
+ "prefix": "/lib/files",
142
+ "confirmCopy": true,
143
+ "confirmMove": true,
144
+ "showConfig": false,
145
+ "showFileName": true,
146
+ "contact": false,
147
+ "configDialog": false,
148
+ "console": false,
149
+ "terminal": false,
150
+ "vim": false,
151
+ "columns": "name-size-date-owner-mode",
152
+ "export": false,
153
+ "import": false,
154
+ "dropbox": false,
155
+ "dropboxToken": "",
156
+ "log": true
157
+ }
158
+ ```
159
+
160
+ </details>
161
+
162
+ ## Application Programming Interface (API)
163
+
164
+ The lib microservice application provides services at
165
+ two end points:
166
+
167
+ ### HTTP protocol
168
+
169
+ Endpoint: `localhost:PORT/lib/files`
170
+
171
+ This option needs to be enabled with `-H http.json` flag.
172
+ The regular file upload and download options become available.
173
+
174
+ ### GraphQL protocol
175
+
176
+ Endpoint: `localhost:PORT/lib`
177
+
178
+ <details>
179
+ <summary>GraphQL API details</summary>
180
+ The lib microservice takes two distinct GraphQL queries.
181
+
182
+ #### Directory Listing
183
+
184
+ This query receives directory path and provides list of files
185
+ in that directory. A sample query and response are given here.
186
+
187
+ ``` graphql
188
+ query {
189
+ listDirectory(path: "user1") {
190
+ repository {
191
+ tree {
192
+ blobs {
193
+ edges {
194
+ node {
195
+ name
196
+ type
197
+ }
198
+ }
199
+ }
200
+ trees {
201
+ edges {
202
+ node {
203
+ name
204
+ type
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ ```
213
+
214
+ ``` graphql
215
+ {
216
+ "data": {
217
+ "listDirectory": {
218
+ "repository": {
219
+ "tree": {
220
+ "blobs": {
221
+ "edges": []
222
+ },
223
+ "trees": {
224
+ "edges": [
225
+ {
226
+ "node": {
227
+ "name": "common",
228
+ "type": "tree"
229
+ }
230
+ },
231
+ {
232
+ "node": {
233
+ "name": "data",
234
+ "type": "tree"
235
+ }
236
+ },
237
+ {
238
+ "node": {
239
+ "name": "digital twins",
240
+ "type": "tree"
241
+ }
242
+ },
243
+ {
244
+ "node": {
245
+ "name": "functions",
246
+ "type": "tree"
247
+ }
248
+ },
249
+ {
250
+ "node": {
251
+ "name": "models",
252
+ "type": "tree"
253
+ }
254
+ },
255
+ {
256
+ "node": {
257
+ "name": "tools",
258
+ "type": "tree"
259
+ }
260
+ }
261
+ ]
262
+ }
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+ ```
269
+
270
+ #### Fetch a File
271
+
272
+ This query receives directory path and send the file contents to user in response.
273
+
274
+ To check this query, create a file `files/user2/data/welcome.txt`
275
+ with content of `hello world`.
276
+
277
+ A sample query and response are given here.
278
+
279
+ ```graphql
280
+ query {
281
+ readFile(path: "user2/data/sample.txt") {
282
+ repository {
283
+ blobs {
284
+ nodes {
285
+ name
286
+ rawBlob
287
+ rawTextBlob
288
+ }
289
+ }
290
+ }
291
+ }
292
+ }
293
+ ```
294
+
295
+ ```graphql
296
+ {
297
+ "data": {
298
+ "readFile": {
299
+ "repository": {
300
+ "blobs": {
301
+ "nodes": [
302
+ {
303
+ "name": "sample.txt",
304
+ "rawBlob": "hello world",
305
+ "rawTextBlob": "hello world"
306
+ }
307
+ ]
308
+ }
309
+ }
310
+ }
311
+ }
312
+ }
313
+ ```
314
+
315
+ ### Direct HTTP API Calls in lieu of GraphQL API Calls
316
+
317
+ The lib microservice also supports making API calls using HTTP POST requests.
318
+ Simply send a POST request to the URL endpoint with the GraphQL query in
319
+ the request body. Make sure to set the Content-Type header to
320
+ "application/json".
321
+
322
+ The easiest way to perform HTTP requests is to use
323
+ [HTTPie](https://github.com/httpie/desktop/releases)
324
+ desktop application.
325
+ You can download the Ubuntu AppImage and run it. Select the following options:
326
+
327
+ ```txt
328
+ Method: POST
329
+ URL: localhost:4001
330
+ Body: <<copy the json code from examples below>>
331
+ Content Type: text/json
332
+ ```
333
+
334
+ Here are examples of the HTTP requests and responses for the HTTP API calls.
335
+
336
+ #### Directory listing
109
337
 
110
- ### Accessible URLs
338
+ <!-- markdownlint-disable MD013 -->
111
339
 
112
- The microservice is available at:
340
+ ```http
341
+ POST /lib HTTP/1.1
342
+ Host: localhost:4001
343
+ Content-Type: application/json
344
+ Content-Length: 388
113
345
 
114
- **GraphQL protocol**: 'localhost:PORT/lib'
115
- **HTTP protocol**: 'localhost:PORT/lib/files'
346
+ {
347
+ "query":"query {\n listDirectory(path: \"user1\") {\n repository {\n tree {\n blobs {\n edges {\n node {\n name\n type\n }\n }\n }\n trees {\n edges {\n node {\n name\n type\n }\n }\n }\n }\n }\n }\n}"
348
+ }
349
+ ```
350
+
351
+ This HTTP POST request will generate the following HTTP response message.
352
+
353
+ ```http
354
+ HTTP/1.1 200 OK
355
+ Access-Control-Allow-Origin: *
356
+ Connection: close
357
+ Content-Length: 306
358
+ Content-Type: application/json; charset=utf-8
359
+ Date: Tue, 26 Sep 2023 20:26:49 GMT
360
+ X-Powered-By: Express
361
+
362
+ {"data":{"listDirectory":{"repository":{"tree":{"blobs":{"edges":[]},"trees":{"edges":[{"node":{"name":"data","type":"tree"}},{"node":{"name":"digital twins","type":"tree"}},{"node":{"name":"functions","type":"tree"}},{"node":{"name":"models","type":"tree"}},{"node":{"name":"tools","type":"tree"}}]}}}}}}
363
+ ```
364
+
365
+ #### Fetch a file
366
+
367
+ This query receives directory path and send the file contents to user in response.
368
+
369
+ To check this query, create a file `files/user2/data/welcome.txt`
370
+ with content of `hello world`.
371
+
372
+ ```http
373
+ POST /lib HTTP/1.1
374
+ Host: localhost:4001
375
+ Content-Type: application/json
376
+ Content-Length: 217
377
+
378
+ {
379
+ "query":"query {\n readFile(path: \"user2/data/welcome.txt\") {\n repository {\n blobs {\n nodes {\n name\n rawBlob\n rawTextBlob\n }\n }\n }\n }\n}"
380
+ }
381
+ ```
382
+
383
+ ```http
384
+ HTTP/1.1 200 OK
385
+ Access-Control-Allow-Origin: *
386
+ Connection: close
387
+ Content-Length: 134
388
+ Content-Type: application/json; charset=utf-8
389
+ Date: Wed, 27 Sep 2023 09:17:18 GMT
390
+ X-Powered-By: Express
391
+
392
+ {"data":{"readFile":{"repository":{"blobs":{"nodes":[{"name":"welcome.txt","rawBlob":"hello world","rawTextBlob":"hello world"}]}}}}}
393
+ ```
116
394
 
117
- <!-- markdownlint-disable-next-line MD013 -->
118
- The [API](https://into-cps-association.github.io/DTaaS/development/user/servers/lib/LIB-MS.html) page shows sample queries and responses.
395
+ <!-- markdownlint-enable MD013 -->
396
+ </details>
@@ -1,6 +1,6 @@
1
1
  PORT='4001'
2
2
  MODE='local'
3
- LOCAL_PATH ='/Users/<Username>/DTaaS/files'
3
+ LOCAL_PATH ='/dtaas/libms/files'
4
4
  LOG_LEVEL='debug'
5
5
  APOLLO_PATH='/lib'
6
6
  GRAPHQL_PLAYGROUND='true'
@@ -0,0 +1,162 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <coverage generated="1717597601385" clover="3.2.0">
3
+ <project timestamp="1717597601385" name="All files">
4
+ <metrics statements="120" coveredstatements="89" conditionals="8" coveredconditionals="2" methods="23" coveredmethods="21" elements="151" coveredelements="112" complexity="0" loc="120" ncloc="120" packages="5" files="7" classes="7"/>
5
+ <package name="src">
6
+ <metrics statements="56" coveredstatements="38" conditionals="6" coveredconditionals="0" methods="7" coveredmethods="6"/>
7
+ <file name="bootstrap.ts" path="/home/dtaas/Documents/git/into-cps/DTaaS/servers/lib/src/bootstrap.ts">
8
+ <metrics statements="18" coveredstatements="0" conditionals="6" coveredconditionals="0" methods="1" coveredmethods="0"/>
9
+ <line num="1" count="0" type="stmt"/>
10
+ <line num="2" count="0" type="stmt"/>
11
+ <line num="3" count="0" type="stmt"/>
12
+ <line num="4" count="0" type="stmt"/>
13
+ <line num="5" count="0" type="stmt"/>
14
+ <line num="13" count="0" type="stmt"/>
15
+ <line num="14" count="0" type="stmt"/>
16
+ <line num="18" count="0" type="cond" truecount="0" falsecount="1"/>
17
+ <line num="20" count="0" type="stmt"/>
18
+ <line num="21" count="0" type="cond" truecount="0" falsecount="2"/>
19
+ <line num="22" count="0" type="stmt"/>
20
+ <line num="24" count="0" type="stmt"/>
21
+ <line num="28" count="0" type="stmt"/>
22
+ <line num="29" count="0" type="stmt"/>
23
+ <line num="30" count="0" type="stmt"/>
24
+ <line num="32" count="0" type="cond" truecount="0" falsecount="1"/>
25
+ <line num="33" count="0" type="stmt"/>
26
+ <line num="36" count="0" type="stmt"/>
27
+ </file>
28
+ <file name="types.ts" path="/home/dtaas/Documents/git/into-cps/DTaaS/servers/lib/src/types.ts">
29
+ <metrics statements="38" coveredstatements="38" conditionals="0" coveredconditionals="0" methods="6" coveredmethods="6"/>
30
+ <line num="1" count="3" type="stmt"/>
31
+ <line num="4" count="3" type="stmt"/>
32
+ <line num="6" count="3" type="stmt"/>
33
+ <line num="9" count="3" type="stmt"/>
34
+ <line num="13" count="3" type="stmt"/>
35
+ <line num="14" count="3" type="stmt"/>
36
+ <line num="15" count="3" type="stmt"/>
37
+ <line num="19" count="3" type="stmt"/>
38
+ <line num="20" count="3" type="stmt"/>
39
+ <line num="21" count="3" type="stmt"/>
40
+ <line num="25" count="3" type="stmt"/>
41
+ <line num="27" count="3" type="stmt"/>
42
+ <line num="30" count="3" type="stmt"/>
43
+ <line num="34" count="3" type="stmt"/>
44
+ <line num="35" count="3" type="stmt"/>
45
+ <line num="36" count="3" type="stmt"/>
46
+ <line num="40" count="3" type="stmt"/>
47
+ <line num="41" count="3" type="stmt"/>
48
+ <line num="42" count="3" type="stmt"/>
49
+ <line num="46" count="3" type="stmt"/>
50
+ <line num="48" count="3" type="stmt"/>
51
+ <line num="51" count="3" type="stmt"/>
52
+ <line num="55" count="3" type="stmt"/>
53
+ <line num="57" count="3" type="stmt"/>
54
+ <line num="60" count="3" type="stmt"/>
55
+ <line num="63" count="3" type="stmt"/>
56
+ <line num="66" count="3" type="stmt"/>
57
+ <line num="67" count="3" type="stmt"/>
58
+ <line num="68" count="3" type="stmt"/>
59
+ <line num="72" count="3" type="stmt"/>
60
+ <line num="74" count="3" type="stmt"/>
61
+ <line num="77" count="3" type="stmt"/>
62
+ <line num="80" count="3" type="stmt"/>
63
+ <line num="81" count="3" type="stmt"/>
64
+ <line num="82" count="3" type="stmt"/>
65
+ <line num="86" count="3" type="stmt"/>
66
+ <line num="88" count="3" type="stmt"/>
67
+ <line num="91" count="3" type="stmt"/>
68
+ </file>
69
+ </package>
70
+ <package name="src.cloudcmd">
71
+ <metrics statements="11" coveredstatements="0" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
72
+ <file name="cloudcmd.ts" path="/home/dtaas/Documents/git/into-cps/DTaaS/servers/lib/src/cloudcmd/cloudcmd.ts">
73
+ <metrics statements="11" coveredstatements="0" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
74
+ <line num="2" count="0" type="stmt"/>
75
+ <line num="3" count="0" type="stmt"/>
76
+ <line num="4" count="0" type="stmt"/>
77
+ <line num="6" count="0" type="stmt"/>
78
+ <line num="11" count="0" type="stmt"/>
79
+ <line num="12" count="0" type="stmt"/>
80
+ <line num="16" count="0" type="stmt"/>
81
+ <line num="18" count="0" type="stmt"/>
82
+ <line num="20" count="0" type="stmt"/>
83
+ <line num="23" count="0" type="stmt"/>
84
+ <line num="32" count="0" type="stmt"/>
85
+ </file>
86
+ </package>
87
+ <package name="src.files">
88
+ <metrics statements="5" coveredstatements="5" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
89
+ <file name="files.module.ts" path="/home/dtaas/Documents/git/into-cps/DTaaS/servers/lib/src/files/files.module.ts">
90
+ <metrics statements="5" coveredstatements="5" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
91
+ <line num="1" count="1" type="stmt"/>
92
+ <line num="2" count="1" type="stmt"/>
93
+ <line num="3" count="1" type="stmt"/>
94
+ <line num="4" count="1" type="stmt"/>
95
+ <line num="9" count="1" type="stmt"/>
96
+ </file>
97
+ </package>
98
+ <package name="src.files.resolvers">
99
+ <metrics statements="11" coveredstatements="11" conditionals="0" coveredconditionals="0" methods="5" coveredmethods="5"/>
100
+ <file name="files.resolver.ts" path="/home/dtaas/Documents/git/into-cps/DTaaS/servers/lib/src/files/resolvers/files.resolver.ts">
101
+ <metrics statements="11" coveredstatements="11" conditionals="0" coveredconditionals="0" methods="5" coveredmethods="5"/>
102
+ <line num="1" count="3" type="stmt"/>
103
+ <line num="3" count="3" type="stmt"/>
104
+ <line num="4" count="3" type="stmt"/>
105
+ <line num="7" count="3" type="stmt"/>
106
+ <line num="11" count="9" type="stmt"/>
107
+ <line num="14" count="2" type="stmt"/>
108
+ <line num="15" count="3" type="stmt"/>
109
+ <line num="16" count="4" type="stmt"/>
110
+ <line num="19" count="2" type="stmt"/>
111
+ <line num="20" count="3" type="stmt"/>
112
+ <line num="21" count="4" type="stmt"/>
113
+ </file>
114
+ </package>
115
+ <package name="src.files.services">
116
+ <metrics statements="37" coveredstatements="35" conditionals="2" coveredconditionals="2" methods="10" coveredmethods="10"/>
117
+ <file name="files-service.factory.ts" path="/home/dtaas/Documents/git/into-cps/DTaaS/servers/lib/src/files/services/files-service.factory.ts">
118
+ <metrics statements="10" coveredstatements="10" conditionals="1" coveredconditionals="1" methods="2" coveredmethods="2"/>
119
+ <line num="1" count="4" type="stmt"/>
120
+ <line num="2" count="4" type="stmt"/>
121
+ <line num="4" count="4" type="stmt"/>
122
+ <line num="7" count="4" type="stmt"/>
123
+ <line num="10" count="6" type="stmt"/>
124
+ <line num="11" count="6" type="stmt"/>
125
+ <line num="16" count="6" type="stmt"/>
126
+ <line num="17" count="6" type="cond" truecount="1" falsecount="0"/>
127
+ <line num="18" count="5" type="stmt"/>
128
+ <line num="20" count="1" type="stmt"/>
129
+ </file>
130
+ <file name="local-files.service.ts" path="/home/dtaas/Documents/git/into-cps/DTaaS/servers/lib/src/files/services/local-files.service.ts">
131
+ <metrics statements="27" coveredstatements="25" conditionals="1" coveredconditionals="1" methods="8" coveredmethods="8"/>
132
+ <line num="1" count="5" type="stmt"/>
133
+ <line num="2" count="5" type="stmt"/>
134
+ <line num="3" count="5" type="stmt"/>
135
+ <line num="4" count="5" type="stmt"/>
136
+ <line num="9" count="5" type="stmt"/>
137
+ <line num="11" count="9" type="stmt"/>
138
+ <line num="14" count="4" type="stmt"/>
139
+ <line num="15" count="4" type="stmt"/>
140
+ <line num="17" count="4" type="stmt"/>
141
+ <line num="19" count="4" type="stmt"/>
142
+ <line num="20" count="20" type="stmt"/>
143
+ <line num="23" count="4" type="stmt"/>
144
+ <line num="25" count="20" type="stmt"/>
145
+ <line num="28" count="20" type="stmt"/>
146
+ <line num="32" count="4" type="stmt"/>
147
+ <line num="36" count="4" type="stmt"/>
148
+ <line num="37" count="4" type="stmt"/>
149
+ <line num="39" count="4" type="stmt"/>
150
+ <line num="40" count="4" type="stmt"/>
151
+ <line num="44" count="4" type="stmt"/>
152
+ <line num="46" count="4" type="stmt"/>
153
+ <line num="48" count="0" type="stmt"/>
154
+ <line num="53" count="20" type="stmt"/>
155
+ <line num="54" count="20" type="cond" truecount="1" falsecount="0"/>
156
+ <line num="55" count="20" type="stmt"/>
157
+ <line num="57" count="0" type="stmt"/>
158
+ <line num="62" count="4" type="stmt"/>
159
+ </file>
160
+ </package>
161
+ </project>
162
+ </coverage>