Metadata-Version: 2.1
Name: ib_core
Version: 1.0.2
Summary: Integration Bus django-applications core
Home-page: https://gitlab.it-psg.com/ib-elp-it-psg/ib_core
Download-URL: https://gitlab.it-psg.com/ib-elp-it-psg/ib_core.git
Author: Damir Fatkhullin
Author-email: damir.f@it-psg.com
License: MIT
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django
Requires-Dist: djangorestframework
Requires-Dist: requests

# Integration Bus Module Core <img alt="Logo" height="25" src="https://ib-elp-it-psg.com/static/admin/img/root_media/icon_psg.svg" width="25"/>

Used in the template, it defines the basic models and methods of working with them

## Description of base components and models

### Models

#### UUIDModel:

- Base Model of *IB Core*.
- Includes infornation about creator (UUID) and creating date/time.
- Includes *TagManager* for adding additional model properties

#### TagManager:

- A model for creating, updating, and managing tags.

#### TagBinder:

*Used by *TagManager*, not independent model*

- Binds *Tag* objects to any models by keyword.
- Works directly with *IB Tags Module*.

### Mixins

#### TokenAuthorizationMixin:

*Uses external authorization, managed by IB Auth Module*

- Supports Base and JsonWeb tokens.
- Automatically checks authorization headers of request and sends error respones.
- Converts user info response from *IB Auth Module* to *AuthUser* class object which can be accessed via *self.user* in
  views.

### Admin Models

#### UUIDModelAdmin

Base ModelAdmin for UUIDModel instances.

Automatically adds 'creator', 'create_date_time_stamp' and 'tag_manager' fields to 'list_display'.

You can change this behaviour by overriding the following fields to False:

- display_creator;
- display_create_date_time_stamp;
- display_tag_manager.

## Related

Project template for Integration Bus module development

[PSG Django Template](https://github.com/KZN-IT-PSG/psg_django_template)

## Authors

- [DamirF](https://github.com/DamirF)
- [IT-PSG Solutions](https://it-psg.com)

