Skip to content

Instantly share code, notes, and snippets.

@samedhi
Last active January 5, 2018 01:51
Show Gist options
  • Save samedhi/9b9a007a316b4cae3133c8af814d9c3a to your computer and use it in GitHub Desktop.
Save samedhi/9b9a007a316b4cae3133c8af814d9c3a to your computer and use it in GitHub Desktop.
from google.appengine.ext import ndb
class User(ndb.Model):
identity = ndb.ComputedProperty(lambda self: self.key.id())
name = ndb.ComputedProperty(compute_name)
first_name = ndb.StringProperty()
last_name = ndb.StringProperty()
email = ndb.StringProperty()
organization = ndb.ComputedProperty(lambda self: self.key.parent())
is_admin = ndb.BooleanProperty(default=False)
is_talkdesk_admin = ndb.BooleanProperty(default=False)
is_proxy = ndb.BooleanProperty(default=False)
disabled = ndb.BooleanProperty(default=False)
oauth_last_refresh = ndb.DateTimeProperty()
# This is a salesforce specific property.
instance_url = ndb.StringProperty()
oauth_access_token = ndb.StringProperty()
oauth_refresh_token = ndb.StringProperty()
# The following 'links' a account to salesforce oauth
connected_salesforce_access_token = ndb.StringProperty()
connected_salesforce_refresh_token = ndb.StringProperty()
connected_salesforce_instance_url = ndb.StringProperty()
# The following allows Google Calendar integration for callbot
connected_gcal_refresh_token = ndb.StringProperty()
google_user_id = ndb.StringProperty()
google_email = ndb.StringProperty()
# ... Truncated... It keeps going
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment