MCPcopy Create free account
hub / github.com/diffgram/diffgram / role_delete_core

Function role_delete_core

default/methods/roles/role_delete.py:33–57  ·  view source on GitHub ↗
(session,
                                log = regular_log.default(),
                                project: Project = None,
                                role_id: int = None,
                                )

Source from the content-addressed store, hash-verified

31
32
33def role_delete_core(session,
34 log = regular_log.default(),
35 project: Project = None,
36 role_id: int = None,
37 ):
38 if project is None:
39 log['error']['project'] = 'Provide project for role creation.'
40 return None, log
41
42 if role_id is None:
43 log['error']['role_id'] = 'Provide role_id for role creation.'
44 return None, log
45
46 role = Role.get_by_id(session, role_id)
47 if role is None:
48 log['error']['role_id'] = 'Role does not exists.'
49 return None, log
50 if role.project_id != project.id:
51 log['error']['project_id'] = 'Role does not belong to project.'
52 return None, log
53
54 session.delete(role)
55
56 role_data = role.serialize()
57 return role_data, log

Callers 1

role_delete_webFunction · 0.85

Calls 3

get_by_idMethod · 0.45
deleteMethod · 0.45
serializeMethod · 0.45

Tested by

no test coverage detected