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

Method new

shared/database/project.py:137–243  ·  view source on GitHub ↗
(session,
            name: str,
            project_string_id: str,
            goal: str,
            user,
            member_created,
            )

Source from the content-addressed store, hash-verified

135
136 @staticmethod
137 def new(session,
138 name: str,
139 project_string_id: str,
140 goal: str,
141 user,
142 member_created,
143 ):
144
145 # Avoid circular import
146 # Maybe in future Project_permissions class could be part of project
147 from shared.permissions.project_permissions import Project_permissions
148
149 project = Project( # Base object
150 name = name,
151 project_string_id = project_string_id,
152 goal = goal,
153 user_primary = user, # Assumed to be primary
154 member_created = member_created
155 )
156
157 # Permissions and user associations
158 user.projects.append(project)
159 user.current_project_string_id = project_string_id
160 user.project_current = project
161
162 log = regular_log.default()
163 permission_result, log = Project_permissions.add(
164 session = session,
165 permission = "admin",
166 user = user,
167 sub_type = project_string_id,
168 log = log)
169 if regular_log.log_has_error(log):
170 logger.error(log)
171 return None
172
173 session.add(user, project)
174
175 session.flush()
176
177 schema = LabelSchema.new(
178 session = session,
179 name = 'Default Schema',
180 project_id = project.id,
181 member_created_id = member_created.id,
182 is_default = True
183 )
184
185 member_id = user.member_id
186
187 Event.new(
188 session = session,
189 kind = "new_project",
190 member_id = member_id,
191 success = True,
192 project_id = project.id,
193 email = user.email # Caution, assumes user object is available
194 )

Callers 1

create_default_rolesMethod · 0.45

Calls 6

ProjectClass · 0.85
new_user_working_dirMethod · 0.80
add_defaultMethod · 0.80
get_listMethod · 0.80
account_new_coreMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected