Skip to content

0002: Add usecases#7

Open
matmair wants to merge 8 commits intoadd-permission-architecturefrom
0002-UC
Open

0002: Add usecases#7
matmair wants to merge 8 commits intoadd-permission-architecturefrom
0002-UC

Conversation

@matmair
Copy link
Collaborator

@matmair matmair commented Jan 2, 2026

@matmair
Copy link
Collaborator Author

matmair commented Jan 2, 2026

@SergeoLacruz I have created this PR to add the use cases you proposed; I have some questions, which I will add as comments


### UC7: Mike works in the factory.
(1) He can create parts that are manufactured, add serial numbers, and other data.
(2) But he cannot add or modify parts for design as Marcus can.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SergeoLacruz How would the system decipher which part is for design? Probably most parts are for design

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mhhhh... Good question.
All R, C, L, ... are for design. Those are created by libarians
Manufactured parts are the product.
But you are right, I do not see a good method to distinguish between them in the actual system.
I need to think about it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think this is a complexity that should be handled in core and would remove this line

Suggested change
(2) But he cannot add or modify parts for design as Marcus can.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the major reason why we decided to track protos elsewhere. Mike needs to edit the parts he manufactured. But he shall not be able to edit all library parts. This will make proto tracking in Inventree useless.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not see how this differs from the current system, I am not aware that there is support for this currently

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if we change it to:

1) He can create builds and stock items, add serial numbers and tests.
2) He can create parts in the `msa/rocket` workpace
3) But he can not create parts in other workspaces

I do not see how we can - from a technical point - distinguish between parts before we create them

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every part needs to be assigned to a project during creation.
Mike can a part if he assigns it to flluxcompensator because he is assigned to this project.
He cannot crate a part assigned to other projects.
All basic parts like R and C are assigned to library. This would also allow to have different libraries, E.g. one for electrical parts and another one for the IT guys who store all their mice and keyboards in the system.
Name it project or workspace...

@matmair matmair changed the title 0002 UC 0002: Add usecases Jan 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants