Skip to content

Commit

Permalink
feat: add readid and kg schema config nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
cowan-macady committed Jun 15, 2023
1 parent f2e2a0c commit cb47dbf
Show file tree
Hide file tree
Showing 13 changed files with 961 additions and 51 deletions.
155 changes: 151 additions & 4 deletions indykite_sdk/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,17 @@
from indykite_sdk.config import ConfigClient
from indykite_sdk.authorization import AuthorizationClient
from indykite_sdk.oauth2 import HttpClient
from indykite_sdk.indykite.config.v1beta1.model_pb2 import (SendGridProviderConfig, MailJetProviderConfig, AmazonSESProviderConfig, MailgunProviderConfig)
from indykite_sdk.indykite.config.v1beta1.model_pb2 import (EmailServiceConfig, AuthFlowConfig, OAuth2ClientConfig, WebAuthnProviderConfig, AuthorizationPolicyConfig )
from indykite_sdk.indykite.config.v1beta1.model_pb2 import (SendGridProviderConfig, MailJetProviderConfig,
AmazonSESProviderConfig, MailgunProviderConfig)
from indykite_sdk.indykite.config.v1beta1.model_pb2 import (EmailServiceConfig, AuthFlowConfig, OAuth2ClientConfig,
WebAuthnProviderConfig, AuthorizationPolicyConfig,
ReadIDProviderConfig, KnowledgeGraphSchemaConfig )
from indykite_sdk.indykite.config.v1beta1.model_pb2 import OAuth2ProviderConfig, OAuth2ApplicationConfig
from indykite_sdk.indykite.identity.v1beta2.import_pb2 import ImportDigitalTwinsRequest, ImportDigitalTwin, ImportProperties
from indykite_sdk.indykite.identity.v1beta2.import_pb2 import ImportDigitalTwinsRequest, ImportDigitalTwin, \
ImportProperties
from indykite_sdk.indykite.identity.v1beta2.import_pb2 import PasswordCredential, PasswordHash, Bcrypt, SHA256
from indykite_sdk.indykite.config.v1beta1.model_pb2 import EmailAttachment, Email, EmailMessage, EmailTemplate, EmailDefinition
from indykite_sdk.indykite.config.v1beta1.model_pb2 import EmailAttachment, Email, EmailMessage, EmailTemplate, \
EmailDefinition
from indykite_sdk.indykite.config.v1beta1.model_pb2 import google_dot_protobuf_dot_wrappers__pb2 as wrappers
from indykite_sdk.indykite.identity.v1beta2.import_pb2 import Email as EmailIdentity
from indykite_sdk.model.is_authorized import IsAuthorizedResource
Expand Down Expand Up @@ -434,6 +439,20 @@ def main():
update_webauthn_provider_config_node_parser.add_argument("display_name", help="Display name")
update_webauthn_provider_config_node_parser.add_argument("description", help="Description")

# create_readid_provider_config_node
create_readid_provider_config_node_parser = subparsers.add_parser("create_readid_provider_config_node")
create_readid_provider_config_node_parser.add_argument("app_space_id", help="AppSpace (gid)")
create_readid_provider_config_node_parser.add_argument("name", help="Name (not display name)")
create_readid_provider_config_node_parser.add_argument("display_name", help="Display name")
create_readid_provider_config_node_parser.add_argument("description", help="Description")

# update_readid_provider_config_node
update_readid_provider_config_node_parser = subparsers.add_parser("update_readid_provider_config_node")
update_readid_provider_config_node_parser.add_argument("config_node_id", help="Config node id (gid)")
update_readid_provider_config_node_parser.add_argument("etag", help="Etag")
update_readid_provider_config_node_parser.add_argument("display_name", help="Display name")
update_readid_provider_config_node_parser.add_argument("description", help="Description")

# create_authorization_policy_config_node
create_authorization_policy_config_node_parser = subparsers.add_parser("create_authorization_policy_config_node")
create_authorization_policy_config_node_parser.add_argument("app_space_id", help="AppSpace (gid)")
Expand All @@ -448,6 +467,20 @@ def main():
update_authorization_policy_config_node_parser.add_argument("display_name", help="Display name")
update_authorization_policy_config_node_parser.add_argument("description", help="Description")

# create_knowledge_graph_schema_config_node
create_knowledge_graph_schema_config_node_parser = subparsers.add_parser("create_knowledge_graph_schema_config_node")
create_knowledge_graph_schema_config_node_parser.add_argument("app_space_id", help="AppSpace (gid)")
create_knowledge_graph_schema_config_node_parser.add_argument("name", help="Name (not display name)")
create_knowledge_graph_schema_config_node_parser.add_argument("display_name", help="Display name")
create_knowledge_graph_schema_config_node_parser.add_argument("description", help="Description")

# update_authorization_policy_config_node
update_knowledge_graph_schema_config_node_parser = subparsers.add_parser("update_knowledge_graph_schema_config_node")
update_knowledge_graph_schema_config_node_parser.add_argument("config_node_id", help="Config node id (gid)")
update_knowledge_graph_schema_config_node_parser.add_argument("etag", help="Etag")
update_knowledge_graph_schema_config_node_parser.add_argument("display_name", help="Display name")
update_knowledge_graph_schema_config_node_parser.add_argument("description", help="Description")

# read_oauth2_provider
read_oauth2_provider_parser = subparsers.add_parser("read_oauth2_provider")
read_oauth2_provider_parser.add_argument("oauth2_provider_id", help="Oauth2 provider id (gid)")
Expand Down Expand Up @@ -1537,6 +1570,71 @@ def main():
print("Invalid update webauthn provider config node response")
return update_webauthn_provider_config_node_response

elif command == "create_readid_provider_config_node":
location = args.app_space_id
name = args.name
display_name = args.display_name
description = args.description
submitter_secret = "8d300cd5-a417-478b-b5cb-3d6d7d1fa76a"
manager_secret = "55203ecc-7ed5-4d9b-8762-27146c16eab6"
submitter_password = "123456"
host_address = "<https://saas-preprod.readid.com>"
readid_property = client_config.readid_property("c.secondaryIdentifier", True)
property_map = {"givenname":readid_property}
unique_property_name = "propertyname"

readid_provider_config = client_config.readid_provider_config(
submitter_secret,
manager_secret,
submitter_password,
host_address,
property_map,
unique_property_name
)
create_readid_provider_config_node_response = client_config.create_readid_provider_config_node(
location, name, display_name, description, readid_provider_config, [])
if create_readid_provider_config_node_response:
print_response(create_readid_provider_config_node_response)
else:
print("Invalid create readid provider config node response")
return create_readid_provider_config_node_response

elif command == "update_readid_provider_config_node":
config_node_id = args.config_node_id
etag = args.etag
display_name = args.display_name
description = args.description
submitter_secret = "8d300cd5-a417-478b-b5cb-3d6d7d1fa76a"
manager_secret = "55203ecc-7ed5-4d9b-8762-27146c16eab6"
submitter_password = "12345689"
host_address = "<https://saas-preprod.readid.com>"
readid_property = client_config.readid_property("c.secondaryIdentifier", True)
property_map = {"givenname":readid_property}
unique_property_name = "propertyname2"

readid_provider_config = client_config.readid_provider_config(
submitter_secret,
manager_secret,
submitter_password,
host_address,
property_map,
unique_property_name
)

update_readid_provider_config_node_response = client_config.update_readid_provider_config_node(
config_node_id,
etag,
display_name,
description,
readid_provider_config,
[])

if update_readid_provider_config_node_response:
print_response(update_readid_provider_config_node_response)
else:
print("Invalid update readid provider config node response")
return update_readid_provider_config_node_response

elif command == "create_authorization_policy_config_node":
location = args.app_space_id
name = args.name
Expand Down Expand Up @@ -1598,6 +1696,55 @@ def main():
print("Invalid update authorization policy config node response")
return update_authorization_policy_config_node_response

elif command == "create_knowledge_graph_schema_config_node":
location = args.app_space_id
name = args.name
display_name = args.display_name
description = args.description
with open("utils/sdk_schema.txt", "r") as file:
file_data = "\n".join(file.read().split("\n"))
# print(file_data)
schema_config = client_config.knowledge_graph_schema_config(file_data)
# print(schema_config)
create_knowledge_graph_schema_config_node_response = client_config.create_knowledge_graph_schema_config_node(
location,
name,
display_name,
description,
schema_config,
[]
)

if create_knowledge_graph_schema_config_node_response:
print_response(create_knowledge_graph_schema_config_node_response)
else:
print("Invalid create knowledge graph schema config node response")
return create_knowledge_graph_schema_config_node_response

elif command == "update_knowledge_graph_schema_config_node":
config_node_id = args.config_node_id
etag = args.etag
display_name = args.display_name
description = args.description

with open("utils/sdk_schema.txt", "r") as file:
file_data = "\n".join(file.read().split("\n"))
schema_config = client_config.knowledge_graph_schema_config(file_data)

update_knowledge_graph_schema_config_node_response = client_config.update_knowledge_graph_schema_config_node(
config_node_id,
etag,
display_name,
description,
schema_config,
[]
)
if update_knowledge_graph_schema_config_node_response:
print_response(update_knowledge_graph_schema_config_node_response)
else:
print("Invalid update knowledge graph schema config node response")
return update_knowledge_graph_schema_config_node_response

elif command == "read_oauth2_provider":
oauth2_provider_id = args.oauth2_provider_id
config = client_config.read_oauth2_provider(oauth2_provider_id, [])
Expand Down
32 changes: 23 additions & 9 deletions indykite_sdk/config/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,33 @@ def __init__(self, local=False):

# Imported methods
from .customer import get_customer_by_id, get_customer_by_name
from .service_account import read_service_account, read_service_account_by_name, create_service_account, update_service_account, delete_service_account
from .app_space import get_app_space_by_id, get_app_space_by_name, create_app_space, update_app_space, list_app_spaces, delete_app_space
from .service_account import read_service_account, read_service_account_by_name, create_service_account, \
update_service_account, delete_service_account
from .app_space import get_app_space_by_id, get_app_space_by_name, create_app_space, update_app_space, \
list_app_spaces, delete_app_space
from .tenant import get_tenant_by_id, get_tenant_by_name, create_tenant, update_tenant, list_tenants, delete_tenant
from .application import get_application_by_id, get_application_by_name, create_application, update_application, list_applications, delete_application
from .application_agent import get_application_agent_by_id, get_application_agent_by_name, create_application_agent, update_application_agent, \
from .application import get_application_by_id, get_application_by_name, create_application, update_application, \
list_applications, delete_application
from .application_agent import get_application_agent_by_id, get_application_agent_by_name, \
create_application_agent, update_application_agent, \
list_application_agents, delete_application_agent
from .application_agent_credential import get_application_agent_credential, register_application_agent_credential_jwk, register_application_agent_credential_pem, delete_application_agent_credential
from .service_account_credential import read_service_account_credential, register_service_account_credential_jwk, register_service_account_credential_pem, delete_service_account_credential
from .config_node import create_email_service_config_node, read_config_node, update_email_service_config_node, delete_config_node, create_auth_flow_config_node, update_auth_flow_config_node, \
from .application_agent_credential import get_application_agent_credential, \
register_application_agent_credential_jwk, register_application_agent_credential_pem, \
delete_application_agent_credential
from .service_account_credential import read_service_account_credential, register_service_account_credential_jwk, \
register_service_account_credential_pem, delete_service_account_credential
from .config_node import create_email_service_config_node, read_config_node, \
update_email_service_config_node, delete_config_node, create_auth_flow_config_node, update_auth_flow_config_node, \
create_oauth2_client_config_node, update_oauth2_client_config_node, \
create_webauthn_provider_config_node, update_webauthn_provider_config_node, \
create_authorization_policy_config_node, update_authorization_policy_config_node
from .oauth2_provider import create_oauth2_provider, read_oauth2_provider, update_oauth2_provider, delete_oauth2_provider
create_authorization_policy_config_node, update_authorization_policy_config_node, \
create_readid_provider_config_node, update_readid_provider_config_node, \
create_readid_provider_config_node, update_readid_provider_config_node, readid_provider_config, \
readid_property, create_knowledge_graph_schema_config_node, update_knowledge_graph_schema_config_node, \
knowledge_graph_schema_config, validate_authenticator_attachment, validate_authorization_policy_status, \
validate_user_verification, validate_conveyance
from .oauth2_provider import create_oauth2_provider, read_oauth2_provider, update_oauth2_provider, \
delete_oauth2_provider
from .oauth2_application import create_oauth2_application, read_oauth2_application, update_oauth2_application, \
delete_oauth2_application
from .create_application_with_agent_credentials import create_application_with_agent_credentials
Expand Down

0 comments on commit cb47dbf

Please sign in to comment.