1 /* 2 * Make.org Core API 3 * Copyright (C) 2018 Make.org 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Affero General Public License as 7 * published by the Free Software Foundation, either version 3 of the 8 * License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Affero General Public License for more details. 14 * 15 * You should have received a copy of the GNU Affero General Public License 16 * along with this program. If not, see <https://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package org.make.api.organisation 21 22 import org.make.api.proposal._ 23 import org.make.api.user.RegisterData 24 import org.make.core.common.indexed.Sort 25 import org.make.core.proposal.{CountrySearchFilter => _, LanguageSearchFilter => _, _} 26 import org.make.core.reference.{Country, Language} 27 import org.make.core.user._ 28 import org.make.core.user.indexed.OrganisationSearchResult 29 import org.make.core.{Order, RequestContext} 30 31 import scala.concurrent.Future 32 import org.make.core.technical.Pagination 33 34 trait OrganisationServiceComponent { 35 def organisationService: OrganisationService 36 } 37 38 trait OrganisationService { 39 def getOrganisation(id: UserId): Future[Option[User]] 40 def getOrganisations: Future[Seq[User]] 41 def find( 42 offset: Pagination.Offset, 43 end: Option[Pagination.End], 44 sort: Option[String], 45 order: Option[Order], 46 ids: Option[Seq[UserId]], 47 organisationName: Option[String] 48 ): Future[Seq[User]] 49 def count(ids: Option[Seq[UserId]], organisationName: Option[String]): Future[Int] 50 def search( 51 organisationName: Option[String], 52 slug: Option[String], 53 organisationIds: Option[Seq[UserId]], 54 country: Option[Country], 55 language: Option[Language] 56 ): Future[OrganisationSearchResult] 57 def searchWithQuery(query: OrganisationSearchQuery): Future[OrganisationSearchResult] 58 def register(organisationRegisterData: OrganisationRegisterData, requestContext: RequestContext): Future[User] 59 def update( 60 organisation: User, 61 moderatorId: Option[UserId], 62 oldEmail: String, 63 requestContext: RequestContext 64 ): Future[UserId] 65 def getVotedProposals( 66 organisationId: UserId, 67 maybeUserId: Option[UserId], 68 filterVotes: Option[Seq[VoteKey]], 69 filterQualifications: Option[Seq[QualificationKey]], 70 sort: Option[Sort], 71 limit: Option[Pagination.Limit], 72 offset: Option[Pagination.Offset], 73 requestContext: RequestContext 74 ): Future[ProposalsResultWithUserVoteSeededResponse] 75 } 76 77 final case class OrganisationRegisterData( 78 name: String, 79 email: String, 80 password: Option[String], 81 avatar: Option[String], 82 description: Option[String], 83 country: Country, 84 language: Language, 85 website: Option[String] 86 ) extends RegisterData { 87 def trim: OrganisationRegisterData = copy(email = email.trim) 88 }
| Line | Stmt Id | Pos | Tree | Symbol | Tests | Code |
|---|---|---|---|---|---|---|
| 87 | 30055 | 2987 - 2987 | Select | org.make.api.organisation.OrganisationRegisterData.copy$default$5 | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy$default$5 |
| 87 | 28712 | 2987 - 2987 | Select | org.make.api.organisation.OrganisationRegisterData.copy$default$4 | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy$default$4 |
| 87 | 28484 | 2987 - 2987 | Select | org.make.api.organisation.OrganisationRegisterData.copy$default$7 | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy$default$7 |
| 87 | 29952 | 2987 - 2987 | Select | org.make.api.organisation.OrganisationRegisterData.copy$default$1 | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy$default$1 |
| 87 | 30209 | 2987 - 2987 | Select | org.make.api.organisation.OrganisationRegisterData.copy$default$8 | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy$default$8 |
| 87 | 29270 | 2987 - 2987 | Select | org.make.api.organisation.OrganisationRegisterData.copy$default$6 | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy$default$6 |
| 87 | 29120 | 2987 - 2987 | Select | org.make.api.organisation.OrganisationRegisterData.copy$default$3 | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy$default$3 |
| 87 | 29413 | 2987 - 3011 | Apply | org.make.api.organisation.OrganisationRegisterData.copy | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.copy(x$2, x$1, x$3, x$4, x$5, x$6, x$7, x$8) |
| 87 | 28575 | 3000 - 3010 | Apply | java.lang.String.trim | org.make.api.organisation.organisationservicetest | OrganisationRegisterData.this.email.trim() |