MCPcopy Index your code
hub / github.com/diffgram/diffgram / create

Function create

default/methods/auth/api/auth_api_new.py:56–117  ·  view source on GitHub ↗

Creates new Auth_api object Arguments: session, db object project_string_id, string permission_level, string is_live, bool Returns: Auth object

(session,
           project_string_id,
           permission_level,
           is_live)

Source from the content-addressed store, hash-verified

54
55
56def create(session,
57 project_string_id,
58 permission_level,
59 is_live):
60 """
61 Creates new Auth_api object
62
63 Arguments:
64 session, db object
65 project_string_id, string
66 permission_level, string
67 is_live, bool
68
69 Returns:
70 Auth object
71 """
72
73 auth = Auth_api()
74 session.add(auth)
75
76 member = Member()
77 session.add(member)
78 member.kind = "api"
79
80 session.flush()
81
82 member.auth_api = auth
83 auth.member_id = member.id
84
85 auth.permission_level = permission_level
86 auth.project_string_id = project_string_id
87 auth.is_live = is_live
88
89 auth = create_client_auth_pair(auth)
90
91 project = Project.get(session, project_string_id)
92 auth.project_id = project.id
93 Project_permissions.assign_project_roles(
94 session = session,
95 role_name = permission_level.lower(),
96 project = project,
97 log = regular_log.default(),
98 member_id = member.id
99
100 )
101 logger.info(f'Assigned role {permission_level} to project {project.project_string_id} and member {member.id}')
102 # Careful we are placing this in the member not the auth
103 # for now...
104
105 user = User.get(session = session)
106
107 # Careful! this is the user created not the new member()
108 Event.new(
109 session = session,
110 kind = "new_api_auth",
111 member_id = user.member_id,
112 success = True,
113 project_id = project.id,

Callers 1

Calls 7

Auth_apiClass · 0.90
MemberClass · 0.90
create_client_auth_pairFunction · 0.85
assign_project_rolesMethod · 0.80
addMethod · 0.45
getMethod · 0.45
newMethod · 0.45

Tested by

no test coverage detected