Metadata-Version: 2.2
Name: mwpermission-fastapi
Version: 0.1.0
Summary: FastAPI 权限检查库 (参考 mwpermission Flask 版本重构)
Home-page: https://github.com/yourusername/mwpermission-fastapi
Author: cxhjet
Author-email: cxhjet@qq.com
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
Requires-Dist: fastapi>=0.100.0
Requires-Dist: uvicorn[standard]>=0.22.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

mwpermission-fastapi
====================

FastAPI 权限检查库，参考 mwpermission (Flask 版本) 重构为 FastAPI 版本。

功能特点
--------

- 支持 FastAPI 依赖注入系统的权限检查
- 支持装饰器风格的权限验证
- 开发模式下可跳过权限检查
- 支持动态权限检查

安装方法
--------

.. code-block:: bash

    pip install mwpermission-fastapi

快速开始
--------

1. 创建 FastAPI 应用并配置权限

.. code-block:: python

    from fastapi import FastAPI, Depends
    from mwpermission_fastapi import Permission

    app = FastAPI()

    # 初始化权限检查器
    p = Permission(sysname="maxwinweb")

使用说明
----------

初始化权限检查器后，可以使用以下方式保护您的API端点：

.. code-block:: python

    # 检查用户对 employee 模块的查看权限
    @app.get("/employees")
    async def get_employees(user_id: int = Depends(p.check("employee", ["view"]))):
        return {"message": "employees list"}

更多详细信息，请参见完整文档。
