def update_solution_star_count(**args): solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) solution.starCount = star_db.get_stared_count(solution.uuid) solution_db.update_solution_star_count(solution) return 0
def update_solution_comment_count(**args): solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) solution.commentCount = comment_db.get_comment_count(solution.uuid) solution_db.update_solution_comment_count(solution) return 0
def update_solution_active(**args): token = token_service.get_token(args.get('http_request')) user_login = token.username has_role = token.has_role('ROLE_MANAGER') solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) if user_login != solution.authorLogin and not has_role: raise Exception('403 Forbidden') if solution.active and not args.get('active'): credit = Credit() credit.__dict__ = credit_service.find_user_credit(user_login) if credit.credit < 20: raise Exception('400 Bad request') else: solution.active = args.get('active') solution_db.update_solution_active(solution) credit_service.do_update_credit( credit, -20, '将AI模型<{}>设为私有'.format(solution.name)) return 0 else: solution.active = args.get('active') solution_db.update_solution_active(solution) return 0
def update_solution_baseinfo(**args): token = token_service.get_token(args.get('http_request')) user_login = token.username has_role = token.has_role('ROLE_MANAGER') solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) if user_login != solution.authorLogin and not has_role: raise Exception('403 Forbidden') solution.name = args.get('name') if args.get('name') else '' solution.company = args.get('company') if args.get('company') else '' solution.version = args.get('version') if args.get('version') else '' solution.summary = args.get('summary') if args.get('summary') else '' solution.tag1 = args.get('tag1') if args.get('tag1') else '' solution.tag2 = args.get('tag2') if args.get('tag2') else '' solution.tag3 = args.get('tag3') if args.get('tag3') else '' solution.modelType = args.get('modelType') if args.get('modelType') else '' solution.toolkitType = args.get('toolkitType') if args.get( 'toolkitType') else '' solution.modifiedDate = mytime.now() solution_db.update_solution_baseinfo(solution) return 0
def update_solution_download_count(**args): solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) solution.downloadCount += 1 solution_db.update_solution_download_count(solution) return 0
def update_solution_name(**args): token = token_service.get_token(args.get('http_request')) user_login = token.username solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) if user_login != solution.authorLogin: raise Exception('403 Forbidden') solution.name = args.get('name') solution.modifiedDate = mytime.now() solution_db.update_solution_name(solution) return 0
def update_solution_picture_url(**args): token = token_service.get_token(args.get('http_request')) user_login = token.username has_role = token.has_role('ROLE_MANAGER') solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) if user_login != solution.authorLogin and not has_role: raise Exception('403 Forbidden') solution.pictureUrl = args.get('pictureUrl') solution.modifiedDate = mytime.now() solution_db.update_solution_picture_url(solution) return 0
def update_solution_admininfo(**args): token = token_service.get_token(args.get('http_request')) has_role = token.has_role('ROLE_MANAGER') solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) if not has_role: raise Exception('403 Forbidden') solution.subject1 = args.get('subject1') if args.get('subject1') else '' solution.subject2 = args.get('subject2') if args.get('subject2') else '' solution.subject3 = args.get('subject3') if args.get('subject3') else '' solution.displayOrder = args.get('displayOrder') if args.get( 'displayOrder') else 0 solution.modifiedDate = mytime.now() solution_db.update_solution_admininfo(solution) return 0
def delete_solution(**args): token = token_service.get_token(args.get('http_request')) user_login = token.username has_role = token.has_role('ROLE_MANAGER') solution = Solution() solution.__dict__ = solution_db.get_solution_by_id(args.get('solutionId')) if user_login != solution.authorLogin and user_login != 'internal' and not has_role: raise Exception('403 Forbidden') where = 'WHERE solution_uuid = "{}"'.format(solution.uuid) document_list = document_db.get_documents(where) for document in document_list: nexus_client.delete_artifact(document.get('url')) document_db.delete_document(document.get('id')) artifact_list = artifact_db.get_artifacts(where) for artifact in artifact_list: if artifact.get('type') == 'DOCKER镜像': nexus_client.delete_docker_image(artifact.get('url')) else: nexus_client.delete_artifact(artifact.get('url')) artifact_db.delete_artifact(artifact.get('id')) description = description_db.get_descriptions(solution.uuid)[0] description_db.delete_description(description.get('id')) where = 'WHERE target_uuid = "{}"'.format(solution.uuid) _, star_list = star_db.get_stars(where, None) for star in star_list: star_db.delete_star(star.get('id')) solution_db.delete_solution(solution.id) return 0