graph LR
Core_Facebook_Data_Models["Core Facebook Data Models"]
Access_Token_Management["Access Token Management"]
Model_Utility_User_Resolution["Model Utility & User Resolution"]
Facebook_Graph_API_Client_Integration["Facebook Graph API Client Integration"]
Django_ORM_Managers["Django ORM Managers"]
Core_Facebook_Data_Models -- "is managed by" --> Django_ORM_Managers
Core_Facebook_Data_Models -- "provides context for" --> Access_Token_Management
Core_Facebook_Data_Models -- "is subject to" --> Model_Utility_User_Resolution
Core_Facebook_Data_Models -- "provides data for" --> Facebook_Graph_API_Client_Integration
Access_Token_Management -- "operates on" --> Core_Facebook_Data_Models
Access_Token_Management -- "delegates token extension to" --> Facebook_Graph_API_Client_Integration
Model_Utility_User_Resolution -- "operates on" --> Core_Facebook_Data_Models
Facebook_Graph_API_Client_Integration -- "provides client to" --> Access_Token_Management
Facebook_Graph_API_Client_Integration -- "uses data from" --> Core_Facebook_Data_Models
Django_ORM_Managers -- "manages instances of" --> Core_Facebook_Data_Models
The Django ORM & Data Models subsystem is the persistence layer for django-facebook, leveraging Django's ORM to define the database schema for storing user-related Facebook data, access tokens, and configuration. Its boundaries are primarily defined by the django_facebook.models module, located in /mnt/e/StartUp/Django-facebook/django_facebook/models.py.
This component defines the fundamental database schemas for storing Facebook user profiles, their likes, and their friends. It serves as the central data repository for all Facebook-related information within the application.
Related Classes/Methods:
django_facebook.models.BaseFacebookModel:115-281django_facebook.models.FacebookModel:286-308django_facebook.models.FacebookLike:338-352django_facebook.models.FacebookUser:315-335
Responsible for the lifecycle management of Facebook access tokens, including updating, extending, and clearing them. This component ensures secure and valid communication with the Facebook Graph API.
Related Classes/Methods:
django_facebook.models.FacebookProfileModel:update_access_tokendjango_facebook.models.FacebookProfileModel:extend_access_tokendjango_facebook.models.FacebookProfileModel:_extend_access_tokendjango_facebook.models.FacebookProfileModel:clear_access_token
Provides a collection of general-purpose utility methods for the data models, including refreshing model instances, calculating derived states (like Facebook Open Graph state), disconnecting Facebook accounts, and resolving associated Django User objects or their IDs.
Related Classes/Methods:
django_facebook.models.BaseFacebookModel:get_userdjango_facebook.models.BaseFacebookModel:get_user_iddjango_facebook.models.BaseFacebookModel:refreshdjango_facebook.models.BaseFacebookModel:facebook_og_statedjango_facebook.models.BaseFacebookModel:disconnect_facebook
Facilitates the creation and retrieval of OpenFacebook client instances, enabling interaction with the Facebook Graph API using the stored access tokens. It acts as the bridge between the ORM models and the external Facebook API.
Related Classes/Methods:
django_facebook.models.FacebookProfileModel:get_offline_graphopen_facebook.api.FacebookAuthorization:388-641
Represents the standard Django model managers (objects) for the django-facebook models. This component provides the primary interface for database queries, object creation, and instance retrieval, adhering to Django's ORM patterns.
Related Classes/Methods: