170 lines
4.9 KiB
Python
170 lines
4.9 KiB
Python
from datetime import datetime
|
|
|
|
from .iam_constant import (
|
|
PRINCIPAL_TYPE_USER,
|
|
PRINCIPAL_TYPE_ADMIN,
|
|
PRINCIPAL_TYPE_SUBADMIN,
|
|
PRINCIPAL_SOURCE_APP,
|
|
PRINCIPAL_SOURCE_WEB,
|
|
PRINCIPAL_SOURCE_GOOGLE,
|
|
PRINCIPAL_SOURCE_APPLE,
|
|
ACTION_CREATE,
|
|
ACTION_READ,
|
|
ACTION_UPDATE,
|
|
ACTION_DELETE,
|
|
RESOURCE_MANAGE_DASHBOARD,
|
|
RESOURCE_MANAGE_IAM,
|
|
RESOURCE_MANAGE_USER,
|
|
RESOURCE_MANAGE_CONTACT_US,
|
|
RESOURCE_MANAGE_FEEDBACK,
|
|
RESOURCE_MANAGE_FAQS,
|
|
RESOURCE_MANAGE_T_C,
|
|
RESOURCE_MANAGE_CMS,
|
|
RESOURCE_MANAGE_PRIVACYPOLICY,
|
|
RESOURCE_MANAGE_SUPPORT
|
|
)
|
|
|
|
class IAMPrincipalType:
|
|
ADMIN = PRINCIPAL_TYPE_ADMIN
|
|
SUBADMIN = PRINCIPAL_TYPE_SUBADMIN
|
|
USER = PRINCIPAL_TYPE_USER
|
|
|
|
categories = [
|
|
ADMIN,
|
|
SUBADMIN,
|
|
USER,
|
|
]
|
|
|
|
@staticmethod
|
|
def create_iam_principal_type_fixture_data():
|
|
iam_category_fixture_data = []
|
|
created_on = datetime.now().isoformat()
|
|
modified_on = datetime.now().isoformat()
|
|
for idx, category in enumerate(IAMPrincipalType.categories, start=1):
|
|
iam_category_fixture_data.append(
|
|
{
|
|
"model": "module_iam.iamprincipaltype",
|
|
"pk": idx,
|
|
"fields": {
|
|
"name": category,
|
|
"label": category,
|
|
"slug": category,
|
|
"created_on": created_on,
|
|
"modified_on": modified_on,
|
|
},
|
|
}
|
|
)
|
|
return iam_category_fixture_data
|
|
|
|
class IAMPrincipalSource:
|
|
source = [
|
|
PRINCIPAL_SOURCE_APP,
|
|
PRINCIPAL_SOURCE_WEB,
|
|
PRINCIPAL_SOURCE_GOOGLE,
|
|
PRINCIPAL_SOURCE_APPLE
|
|
]
|
|
|
|
@staticmethod
|
|
def create_iam_principal_source_fixture_data():
|
|
iam_principal_source_fixture_data = []
|
|
created_on = datetime.now().isoformat()
|
|
modified_on = datetime.now().isoformat()
|
|
|
|
for idx, principal_source in enumerate(IAMPrincipalSource.source, start=1,):
|
|
iam_principal_source_fixture_data.append(
|
|
{
|
|
"model": "module_iam.iamprincipalsource",
|
|
"pk": idx,
|
|
"fields": {
|
|
"name": principal_source,
|
|
"label": principal_source,
|
|
"slug": principal_source,
|
|
"created_on": created_on,
|
|
"modified_on": modified_on,
|
|
},
|
|
}
|
|
)
|
|
|
|
return iam_principal_source_fixture_data
|
|
|
|
class IAMActions:
|
|
CREATE = ACTION_CREATE
|
|
READ = ACTION_READ
|
|
UPDATE = ACTION_UPDATE
|
|
DELETE = ACTION_DELETE
|
|
|
|
actions = [
|
|
CREATE,
|
|
READ,
|
|
UPDATE,
|
|
DELETE,
|
|
]
|
|
|
|
@staticmethod
|
|
def create_iam_action_fixture_data():
|
|
iam_action_fixture_data = []
|
|
created_on = datetime.now().isoformat()
|
|
modified_on = datetime.now().isoformat()
|
|
for idx, action in enumerate(IAMActions.actions, start=1):
|
|
iam_action_fixture_data.append(
|
|
{
|
|
"model": "module_iam.iamappaction",
|
|
"pk": idx,
|
|
"fields": {
|
|
"name": action,
|
|
"label": action,
|
|
"slug": action,
|
|
"created_on": created_on,
|
|
"modified_on": modified_on,
|
|
},
|
|
}
|
|
)
|
|
return iam_action_fixture_data
|
|
|
|
class IAMResources:
|
|
DASHBOARD = RESOURCE_MANAGE_DASHBOARD
|
|
IAM = RESOURCE_MANAGE_IAM
|
|
USER = RESOURCE_MANAGE_USER
|
|
SUPPORT = RESOURCE_MANAGE_SUPPORT
|
|
CONTACT_US = RESOURCE_MANAGE_CONTACT_US
|
|
FEEDBACK = RESOURCE_MANAGE_FEEDBACK
|
|
CMS = RESOURCE_MANAGE_CMS
|
|
FAQS = RESOURCE_MANAGE_FAQS
|
|
T_C = RESOURCE_MANAGE_T_C
|
|
PRIVACYPOLICY = RESOURCE_MANAGE_PRIVACYPOLICY
|
|
|
|
resources = [
|
|
DASHBOARD,
|
|
IAM,
|
|
USER,
|
|
SUPPORT,
|
|
CONTACT_US,
|
|
FEEDBACK,
|
|
CMS,
|
|
FAQS,
|
|
T_C,
|
|
PRIVACYPOLICY,
|
|
]
|
|
|
|
@staticmethod
|
|
def create_iam_resource_fixture_data():
|
|
iam_resource_fixture_data = []
|
|
created_on = datetime.now().isoformat()
|
|
modified_on = datetime.now().isoformat()
|
|
for idx, resource in enumerate(IAMResources.resources, start=1):
|
|
iam_resource_fixture_data.append(
|
|
{
|
|
"model": "module_iam.iamappresource",
|
|
"pk": idx,
|
|
"fields": {
|
|
"name": resource,
|
|
"label": resource,
|
|
"slug": resource,
|
|
"created_on": created_on,
|
|
"modified_on": modified_on,
|
|
"action": [1, 2, 3, 4],
|
|
},
|
|
}
|
|
)
|
|
return iam_resource_fixture_data
|