+ Structure of the MongoDB instance running on the BIC, storing all application data.
+
+
+
+ | samples | | Example |
+
+ | _id |
+ Automatically generated unique id |
+ '5f2e63c98d1c020f8cda6e06' |
+
+
+
+ | type |
+
+ The material status of the sample, can be either granulate, part
+ or tension rod.
+ |
+ 'granulate' |
+
+
+ | number |
+ The sample number, generated by the server for new samples |
+ 'An31' |
+
+
+ | color |
+ Sample color |
+ 'black' |
+
+
+ | batch |
+ Batch number the sample was from |
+ '2264486614' |
+
+
+ | status |
+ Status of the document, can be either new, validated or
+ deleted. |
+ 'new' |
+
+
+ | condition |
+ sample condition with condition_template reference and all fields defined by the
+ template |
+ {{'{'}}condition_template: '5f3151b5b8a886007d2de9ed', time in minutes: 30{{'}'}} |
+
+
+ | material_id |
+ Reference to the sample material |
+ '5f2e63118d1c020f8cda6a0a' |
+
+
+ | note_id |
+ Reference to the sample note |
+ '5f2e63c98d1c020f8cda6e08' |
+
+
+ | user_id |
+ Reference to the user who created the sample |
+ '5f294dd4aa9ea5085c7d7315' |
+
+
+ | notes | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f2e63e98d1c020f8cda70cc' |
+
+
+ | comment |
+ General remarks |
+ 'stabilized' |
+
+
+ | sample_references |
+ Array of references to other samples, each reference containing the referenced sample_id
+ as well as a relation field describing the relationship |
+ {{'{'}}sample_id: '5f2e63d68d1c020f8cda701c', relation: 'belongs to'{{'}'}} |
+
+
+ | custom_fields |
+ Additional information as key value pairs for the sample, making it easier to process this information |
+ {{'{'}}vwz: '0 min'{{'}'}} |
+
+
+ | note_fields | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f2e63e98d1c020f8cda70ce' |
+
+
+ | name |
+ name of the custom_fields key |
+ 'test series' |
+
+
+ | qty |
+ number of notes with this key |
+ 24 |
+
+
+ | materials | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f2e63e98d1c020f8cda70d0' |
+
+
+ | name |
+ |
+ 'Ultradur B4300 G6' |
+
+
+ | numbers |
+ Trade name of the material |
+ |
+
+
+ | properties |
+ material class specific properties with material_template reference and all fields
+ defined by the template |
+ {{'{'}}material_template: '5f2e89874ac96c007fb06e83', mineral: 0, glass_fiber: 30, carbon_fiber: 0{{'}'}} |
+
+
+ | group_id |
+ Reference to the material group |
+ '5f2e631191c5d68f8a0708c4' |
+
+
+ | supplier_id |
+ Reference to the material supplier |
+ '5f2e631191c5d68f8a0708c7' |
+
+
+ | status |
+ Status of the document, can be either new, validated or
+ deleted. |
+ 'new' |
+
+
+ | measurements | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f294d25aa9ea5085c7d7305' |
+
+
+ | sample_id |
+ Reference to the sample this measurement belongs to |
+ '5f2e63c98d1c020f8cda6e06' |
+
+
+ | measurement_template |
+ Reference to the Template defining the structure of the measurement values |
+ '5f294d25aa9ea5085c7d7305' |
+
+
+ | values |
+ Measurement values in defined format |
+ {{'{'}}vn: 100.4{{'}'}} |
+
+
+ | status |
+ Status of the document, can be either new, validated or
+ deleted. |
+ 'new' |
+
+
+ | <collection>_templates | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f2e63ee8d1c020f8cda7128' |
+
+
+ | name |
+ Display name of the template |
+ 'spectrum' |
+
+
+ | version |
+ Version number of the template |
+ 2 |
+
+
+ | first_id |
+ Reference to the first instance of this template with version number 1 |
+ '5f2e89bb4ac96c007fb06e86' |
+
+
+ | parameters |
+ Specified parameters of this template. The name property is used as the key in the
+ document using this template, the range can have the following properties: min specifies
+ the minimum numeric value, max specifies the maximum numeric value,
+ values specifies an array of allowed values of this parameter and type: 'array'
+ specifies that this parameter must be an array |
+ |
+
+
+ | users | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f2e63cc8d1c020f8cda6e6a' |
+
+
+ | name |
+ The username |
+ 'admin' |
+
+
+ | email |
+ The user's email address used for password reset |
+ 'test@bosch.com' |
+
+
+ | location |
+ The abbreviation of the Bosch site of the user |
+ 'Rng' |
+
+
+ | level |
+ The permission level, can be either read, write,
+ dev or admin. The exact level permissions can be found at the
+ general documentation |
+ |
+
+
+ | devices |
+ Array of all spectrum measurement devices the user has access to |
+ ['Rng01', 'Rng02'] |
+
+
+ | pass |
+ The user's password in hashed form using bcrypt |
+ '$2a$10$m8DqvZR3plZEv8EPwPo7Luvyrm/ZQDiPzfBh6bpU/1XFWOGONkJyG' |
+
+
+ | key |
+ The API key, generated when the user is created |
+ '5f294dd4aa9ea5085c7d7314' |
+
+
+ | models | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f294d47aa9ea5085c7d7308' |
+
+
+ | name |
+ The name of the model |
+ 'humidity-1' |
+
+
+ | data |
+ The Python model data in binary format |
+ <binary data> |
+
+
+ | changelogs | | |
+
+ | _id |
+ Automatically generated unique id |
+ '5f2e63cc8d1c020f8cda6e6e' |
+
+
+ | action |
+ The URL which invoked the database write access |
+ 'POST /material/new' |
+
+
+ | collection_name |
+ Collection that was written to |
+ 'material_groups' |
+
+
+ | conditions |
+ Condition arguments used when accessing the database |
+ {{'{'}}id: '5f2e63118d1c020f8cda6a0a'{{'}'}} |
+
+
+ | data |
+ data which was written to the database |
+ {{'{'}}name: 'PBT'{{'}'}} |
+
+
+ | user_id |
+ The user that executed this command |
+ '5f2e63118d1c020f8cda6a09' |
+
+
diff --git a/src/app/documentation-database/documentation-database.component.scss b/src/app/documentation-database/documentation-database.component.scss
new file mode 100644
index 0000000..f3900d2
--- /dev/null
+++ b/src/app/documentation-database/documentation-database.component.scss
@@ -0,0 +1,13 @@
+.field-reference td {
+ white-space: normal;
+ text-overflow: initial;
+ max-width: none;
+
+ &:nth-child(3) {
+ font-family: boschmono, monospace;
+ }
+}
+
+span.name {
+ font-style: italic;
+}
diff --git a/src/app/documentation-database/documentation-database.component.spec.ts b/src/app/documentation-database/documentation-database.component.spec.ts
new file mode 100644
index 0000000..75dc273
--- /dev/null
+++ b/src/app/documentation-database/documentation-database.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { DocumentationDatabaseComponent } from './documentation-database.component';
+
+describe('DocumentationDatabaseComponent', () => {
+ let component: DocumentationDatabaseComponent;
+ let fixture: ComponentFixture