Skip to main content

Module services

Module services 

Source
Expand description

Business logic. Every mutation checks permissions and lifecycle rules, runs in a database transaction and writes an audit log entry.

Both the web UI and the REST API call into these functions, so the rules are enforced identically for both.

Modules§

access
Read access control: the only place that writes the SQL guards.
access_log
Read and download log of restricted groups (#151, step 4).
access_review
Access review of a restricted project group (issue #151, step 5).
annotations
3D markup: notes pinned to points of a file version’s 3D preview, for design reviews. Everyone who may read the file reads and adds notes (reviewers are often viewers); a note is removed by its author or an administrator. Adding and removing are audited on the revision.
as_built
As-built records: hardware as it was really built.
assemblies
3D previews of NX, SOLIDWORKS, Inventor and Creo assemblies and CATIA products.
assistant
Runs the built-in assistant for a user and records the run in the audit log (who, which action, question length, tools, tokens – never the question or the answer). See crate::assistant for the tool loop.
assistant_threads
The assistant’s conversation: one thread per user that survives page navigation and reloads.
attributes
Custom attributes (feature 5): definitions maintained by administrators and the validation of values against them.
audit
Append-only audit trail of every change to product data and users (only the optional retention, purge_older_than, removes old entries – and records that it did).
bom
Bills of materials: single-level editing, multi-level expansion with revision rules, mass/cost roll-up, CSV and Excel export and cycle prevention.
bom_compare
BOM comparison between two revisions (Teamcenter’s structure compare): which lines were added, removed or changed (quantity, find number, notes and, over all levels, the resolved child revision). Lines are matched by child item and find number first, then by child item. Over all levels, the children of two matched lines are compared the same way, and an added or removed line brings its whole sub-tree.
bom_references
A BOM from the CAD references the server found.
branding
Instance branding: administrators replace the built-in logos.
bulk
Lifecycle operations on many items at once: revise or obsolete the latest revision of every listed item. Each item goes through the same service as a single operation (revisions::revise / revisions::obsolete) in its own transaction, so permissions, locks, audit records, notifications and webhooks are exactly those of the single operation, and one refusal does not stop the others; the outcome lists every item. (Releasing many items together is a change order with many revisions.)
changes
Change orders: the only way to release revisions.
checkouts
Concurrency management around check-outs: the sync state of the files of a revision as a client’s workspace sees them, and the bulk check-in of everything a user has checked out.
deactivation
Deactivation as an offboarding step (issue #173, step 4): an administrator deactivates a leaver and, in the same step, chooses what happens to what they still hold (see services::offboarding::holdings):
desktop
Sign-in of the TeamCraft desktop app through the browser.
duplicates
Likely duplicate items by name: before (or right after) an item is created, the items whose latest revision has a similar name are offered, so an existing part is reused instead of created twice. Read-only and limited to the items the actor may read.
explorer
The vault explorer: items as a folder browser (project group → items → files), the way engineering vaults are usually worked with – every row shows the lock, and check-out / check-in / cancel are one click away.
files
File attachments of revisions, with version history.
folders
The file browser of a project group: the folders its files have (files.folder, the structure of the engineer’s working folder) and the files in them, one folder level per request (read-only; a big group is never loaded as a whole).
impacts
Change propagation to dependents.
imports
Import of bills of materials exported by CAD programs (see crate::bomtable) and of the product structure of STEP assemblies (see crate::stepbom).
insights
Read-only analyses for engineers and agents: the health of a BOM and files stored more than once. Deterministic – they report facts from the database, the reader decides what to do.
interchange
Interchangeable parts (feature 6, see docs/src/research/supersede-alternates.md):
items
Items (parts, assemblies, documents, software) and their search.
manager_gaps
Project groups without an active manager (issue #173, step 7).
mass_geometry
Which geometry file a revision’s mass is computed from (pure rules).
mass_properties
Mass properties of assemblies: the material library, the mass settings of revisions and files, and the roll-up of mass, centre of gravity and inertia tensor over the multi-level BOM (see massprops and docs/src/research/mass-properties.md).
membership_conditions
Need-to-know project groups, step 2 (issue #151): conditions on membership. A restricted group with a need-to-know policy can require, on top of membership,
notifications
Notifications and watch lists.
offboarding
What a user still holds (issue #173, step 1): the report an administrator or a group manager reads before somebody leaves – check-outs, change orders they wrote that are still open, pending reviews, change requests assigned to or raised by them, items they own, their memberships (and the groups in which they are the only active manager) and their API tokens.
ownership
Item owners and the hand-over of a leaving user’s work (issue #152, step 7).
package
“Pack and Go”: an assembly with everything it consists of as one ZIP file.
personal
Personal working sets: favorites (Teamcenter “Favorites”) and saved item searches (Teamcenter “Saved Queries”). Both belong to one user only, so they are not audited.
project_policy
Need-to-know policy of a restricted project group (issue #151, step 1): how administrators who are not members read the group.
projects
Project groups (e.g. a product line, a machine, a customer project or a rover). CAD editors may only modify items of the project groups they are members of.
quotas
Storage quotas: an optional limit per user (users.storage_quota_bytes) and one for the whole vault (vault_quota.total_bytes). Both count the sizes of the stored file versions – identical content stored twice counts twice, as it does for the user who uploads it; purged versions free their share. Without a limit (the default) nothing is checked.
readiness
Release readiness of a change order.
references
Reference tracking besides the BOM:
request_digests
E-mail digest of the change requests that wait for triage, per project group.
requests
Engineering change requests (ECR): the step before a change order.
result_proposals
Result values proposed by the assistant from a report.
result_templates
Extraction templates of a project group: where a simulation’s key numbers are found in small text files at check-in (see crate::resultscan).
retention
Data retention: which vault blobs the database still refers to, the removal of blobs nothing refers to (teamcraft vault gc, and the blobs of expired staged imports and upload sessions) and the trimming of the preview cache, and the removal of superseded versions of latest files (purge_superseded_versions). The audit log retention is audit::purge_older_than.
reviewers
Suggested reviewers for a change order: who knows the affected items?
revisions
Revisions: attributes, check-out/check-in, revise and obsolete.
save_as
“Save As” (as in Teamcenter): a new item from an existing revision – its attributes, optionally its current files and its BOM. The new item starts with revision A, in work and checked out to the author, exactly like a freshly created item.
season
Season (term) handover of a project group (issue #173, step 8).
similar
Similar part search: “do we already have a part like this?”.
simulations
Simulation management (FEA, CFD, …).
stats
Figures for the dashboard.
structure
The structure view of the desktop navigator: the top-level items of a project group and the parts of one assembly revision, one level at a time (read-only; a big group or assembly is never loaded as a whole).
uploads
Chunked, resumable uploads for large files (CAD assemblies, simulation results of several GB).
users
Users, browser sessions and API tokens.
webhooks
Outgoing event webhooks: administration and the events.
workset
The working set of a revision: everything the desktop “Get” copies into the working folder to open an assembly in the CAD program.

Structs§

Page
Pagination helper used by list endpoints.