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

Function process_project_auth_code

default/methods/user/account/auth_code.py:174–224  ·  view source on GitHub ↗

auth_code is class Auth_API object!! not string

(
    session,
    new_user,
    auth_code)

Source from the content-addressed store, hash-verified

172
173
174def process_project_auth_code(
175 session,
176 new_user,
177 auth_code):
178 """
179 auth_code is class Auth_API object!! not string
180 """
181
182 new_user.signup_code = auth_code
183
184 if auth_code.permission_level is not None:
185 new_user.current_project_string_id = auth_code.project_string_id
186
187 project = Project.get(session, auth_code.project_string_id)
188 new_user.project_current = project
189
190 new_user.projects.append(project)
191
192 # We default the new user's email to being verified
193 # Otherwise could be confusing to have to redeem a code twice
194 new_user.security_email_verified = True
195
196 # Do we want to record this too?
197 # Could be confusing since it's a different type of code?
198 # But may be good for history
199 new_user.verify_email_code = auth_code
200
201 # Do we even need this anymore?
202 # UserbaseProject is not imported ...
203 """
204 UserbaseProject.set_working_dir(session = session,
205 user_id = new_user.id,
206 project_id = project.id,
207 working_dir_id = project.directory_default_id)
208 """
209 log = regular_log.default()
210 permission_result, log = Project_permissions.add(
211 session = session,
212 permission = auth_code.permission_level,
213 user = new_user,
214 sub_type = auth_code.project_string_id,
215 log = log)
216 RoleMemberObject.new(
217 session = session,
218 default_role_name = ProjectDefaultRoles[auth_code.permission_level.lower()],
219 member_id = new_user.member_id,
220 object_id = project.id,
221 object_type = ValidObjectTypes.project
222 )
223 if regular_log.log_has_error(log):
224 logger.error(f'Error with auth code: {log}')

Callers 1

attempt_redeem_codeFunction · 0.85

Calls 3

getMethod · 0.45
addMethod · 0.45
newMethod · 0.45

Tested by

no test coverage detected