2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-02 21:38:48 +00:00
Oliver 23ea746813
Api token updates (#5664)
* Create new APIToken model

- Has custom 'name' field
- Has custom expiry date

* Add data migration to port across any existing user tokens

* Adds 'revoked' field - tokens can be manually revoked

* Update API token - allow multiple tokens per user

* Custom token auth handler

- Correctly handles revoked tokens
- Correctly handles expired tokens

* Update AuthRequiredMiddleware

- Check for token active status

* Token API endpoint improvements

- Can return tokens with custom names
- Return more information on the token too

* Consolidate migrations

* When requesting a token, overwrite inactive token for authenticated user

- An authenticated user must receive a token
- Unauthenticated users cannot do this

* Fix

* Use token name for frontend

* Force token expiry, and generate default expiry date

* Force generation of a new token when requested

* Reduce data exposed on token API endpoint

* Display redacted token in admin site

* Log when new token is created for user

* Add default value for token

- Allows raw token to be viewed in the admin interface when created
- After created, no longer visible
- Also provides ability to generate token with static prefix

* Fixes for admin interface

- Prevent user and expiry from being edited after creation

* Implement unit tests for token functionality

* Fix content exclude for import/export

* Fix typo

* Further tweaks

- Prevent editing of "name" field after creation
- Add isoformat date suffix to token

* Longer token requires longer database field!

* Fix other API tokens

* Remove 'delete' method from token API endpoint

* Bump API version
2023-10-20 14:06:06 +11:00
2023-10-05 07:52:36 +11:00
2023-04-03 16:55:27 +10:00
2023-09-15 22:44:54 +10:00
2023-06-04 00:04:52 +10:00
2022-05-20 13:35:07 +02:00
2023-10-06 11:38:01 +11:00
2023-10-20 14:06:06 +11:00
2023-10-20 14:06:06 +11:00
2023-05-02 20:03:52 +10:00
2023-05-30 22:55:53 +10:00
2022-05-20 13:35:07 +02:00
2023-07-21 09:46:44 +10:00
2023-08-06 21:50:38 +10:00
2023-10-18 07:27:28 +11:00
2023-07-21 09:00:37 +10:00
2023-10-06 11:38:01 +11:00
2023-10-05 07:52:36 +11:00
2022-02-21 22:31:10 +11:00
2023-10-18 07:27:28 +11:00
2023-07-09 08:40:27 +10:00
2023-09-19 06:20:23 +10:00
2023-04-22 22:40:29 +10:00
2023-10-18 07:27:28 +11:00
2023-10-18 07:27:28 +11:00
2023-10-18 07:27:28 +11:00
2023-10-18 07:27:28 +11:00
2023-04-28 20:49:53 +10:00
2023-10-20 14:06:06 +11:00
2023-10-18 07:27:28 +11:00

InvenTree logo

InvenTree

Open Source Inventory Management System

License: MITGitHub tag (latest SemVer) CI Documentation Status Docker Build OpenSSF Best Practices Netlify Status DeepSource

Coveralls Crowdin GitHub commit activity Docker Pulls

GitHub Org's stars Twitter Follow Subreddit subscribers

View Demo · Documentation · Report Bug · Request Feature

🌟 About the Project

InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications. A powerful plugin system provides support for custom applications and extensions.

Check out our website for more details.

🧭 Roadmap

Want to see what we are working on? Check out the roadmap tag and horizon milestone.

🛠️ Integration

InvenTree is designed to be extensible, and provides multiple options for integration with external applications or addition of custom plugins:

👾 Tech Stack

Server
Database
Client
DevOps

🧰 Deployment / Getting Started

There are several options to deploy InvenTree.

Single line install - read the docs for supported distros and details about the function:

wget -qO install.sh https://get.inventree.org && bash install.sh

Refer to the getting started guide for a full set of installation and setup instructions.

📱 Mobile App

InvenTree is supported by a companion mobile app which allows users access to stock control information and functionality.

👋 Contributing

Contributions are welcomed and encouraged. Please help to make this project even better! Refer to the contribution page.

📜 Translation

Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged.

💸 Sponsor

If you use InvenTree and find it to be useful, please consider sponsoring the project.

💎 Acknowledgements

We would like to acknowledge a few special projects:

Find a full list of used third-party libraries in our documentation.

This project is supported by:

Deploys by Netlify

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Description
Open Source Inventory Management System
Readme MIT 560 MiB
Languages
Python 68.9%
TypeScript 29.5%
HTML 0.8%
Shell 0.6%
Dockerfile 0.1%