Skip to content

Commit 73242d5

Browse files
committed
Start rewriting display info
1 parent f0453c9 commit 73242d5

25 files changed

Lines changed: 185 additions & 113 deletions

File tree

share-api.cabal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ library
148148
Share.Web.Share.DefinitionSearch
149149
Share.Web.Share.Diffs.Impl
150150
Share.Web.Share.Diffs.Types
151-
Share.Web.Share.DisplayInfo
151+
Share.Web.Share.DisplayInfo.Queries
152+
Share.Web.Share.DisplayInfo.Types
152153
Share.Web.Share.Impl
153154
Share.Web.Share.Orgs.API
154155
Share.Web.Share.Orgs.Impl

src/Share/BackgroundJobs/Webhooks/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import Data.Text qualified as Text
1515
import Share.Contribution (ContributionStatus)
1616
import Share.IDs
1717
import Share.Prelude
18-
import Share.Web.Share.DisplayInfo (UserDisplayInfo)
18+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo)
1919

2020
data BranchPayload = BranchPayload
2121
{ branchId :: BranchId,

src/Share/Postgres/Users/Queries.hs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import Share.Utils.Postgres
4848
import Share.Utils.URI (URIParam (..))
4949
import Share.Web.Authorization.Types qualified as AuthZ
5050
import Share.Web.Errors (EntityMissing (EntityMissing), ErrorID (..), ToServerError (..))
51-
import Share.Web.Share.DisplayInfo (UserDisplayInfo (..))
51+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo (..), UserLike (..))
5252

5353
-- | Efficiently resolve User Display Info for UserIds within a structure.
5454
userDisplayInfoOf :: (PG.QueryA m) => Traversal s t UserId UserDisplayInfo -> s -> m t
@@ -274,20 +274,22 @@ findOrCreateGithubUser authZReceipt ghu@(GithubUser _login githubUserId _avatarU
274274
Nothing -> do
275275
New <$> createFromGithubUser authZReceipt ghu primaryEmail userHandle
276276

277-
searchUsersByNameOrHandlePrefix :: Query -> Limit -> PG.Transaction e [(User, Maybe OrgId)]
277+
searchUsersByNameOrHandlePrefix :: Query -> Limit -> PG.Transaction e [(UserLike UserId Void OrgId)]
278278
searchUsersByNameOrHandlePrefix (Query prefix) (Limit limit) = do
279279
let q = likeEscape prefix <> "%"
280-
PG.queryListRows @(User PG.:. (PG.Only (Maybe OrgId)))
280+
PG.queryListRows @(UserId, Maybe OrgId)
281281
[PG.sql|
282-
SELECT u.id, u.name, u.primary_email, u.avatar_url, u.handle, u.private, org.id
282+
SELECT u.id, org.id
283283
FROM users u
284284
LEFT JOIN orgs org ON org.user_id = u.id
285285
WHERE (u.handle ILIKE #{q}
286286
OR u.name ILIKE #{q}
287287
) AND NOT u.private
288288
LIMIT #{limit}
289289
|]
290-
<&> fmap \(user PG.:. PG.Only mayOrgId) -> (user, mayOrgId)
290+
<&> fmap \(userId, mayOrgId) -> case mayOrgId of
291+
Just orgId -> UnifiedOrg orgId
292+
Nothing -> UnifiedUser userId
291293

292294
data UserCreationError
293295
= UserHandleTaken UserHandle

src/Share/Web/Authorization/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import Share.IDs
4848
import Share.Postgres qualified as PG
4949
import Share.Prelude
5050
import Share.Utils.API (AtKey (..))
51-
import Share.Web.Share.DisplayInfo
51+
import Share.Web.Share.DisplayInfo.Types
5252

5353
data SubjectKind = UserSubjectKind | OrgSubjectKind | TeamSubjectKind
5454
deriving (Show)

src/Share/Web/Share/Branches/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import Share.IDs
1414
import Share.IDs qualified as IDs
1515
import Share.Postgres.IDs
1616
import Share.Web.Share.Contributions.Types (ShareContribution)
17-
import Share.Web.Share.DisplayInfo (UserDisplayInfo)
17+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo)
1818
import Share.Web.Share.Projects.Types
1919

2020
branchToShareBranch :: BranchShortHand -> Branch CausalHash -> APIProject -> [ShareContribution UserDisplayInfo] -> ShareBranch

src/Share/Web/Share/Comments/API.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Servant
77
import Share.IDs
88
import Share.Web.Share.Comments
99
import Share.Web.Share.Comments.Types
10-
import Share.Web.Share.DisplayInfo (UserDisplayInfo)
10+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo)
1111

1212
type CommentResourceServer = UpdateComment :<|> DeleteComment
1313

src/Share/Web/Share/Comments/Impl.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import Share.Web.Authorization qualified as AuthZ
2121
import Share.Web.Errors
2222
import Share.Web.Share.Comments
2323
import Share.Web.Share.Comments.Types
24-
import Share.Web.Share.DisplayInfo (UserDisplayInfo (..))
24+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo (..))
2525

2626
createCommentEndpoint ::
2727
Maybe Session ->

src/Share/Web/Share/Comments/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Share.Web.Share.Comments.Types where
99
import Data.Aeson
1010
import Share.Prelude
1111
import Share.Web.Share.Comments (CommentEvent (..), RevisionNumber)
12-
import Share.Web.Share.DisplayInfo (UserDisplayInfo)
12+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo)
1313

1414
data CreateCommentRequest = CreateCommentRequest
1515
{ content :: Text

src/Share/Web/Share/Contributions/API.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import Share.Utils.Servant (RequiredQueryParam)
1414
import Share.Web.Share.Comments.API qualified as Comments
1515
import Share.Web.Share.Contributions.Types
1616
import Share.Web.Share.Diffs.Types (ShareNamespaceDiffResponse, ShareTermDiffResponse, ShareTypeDiffResponse)
17-
import Share.Web.Share.DisplayInfo (UserDisplayInfo)
17+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo)
1818
import Unison.Name (Name)
1919

2020
type ContributionsByUserAPI = ListContributionsByUserEndpoint

src/Share/Web/Share/Contributions/Impl.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ import Share.Web.Share.Contributions.MergeDetection qualified as MergeDetection
5656
import Share.Web.Share.Contributions.Types
5757
import Share.Web.Share.Diffs.Impl qualified as Diffs
5858
import Share.Web.Share.Diffs.Types (ShareNamespaceDiffResponse (..), ShareNamespaceDiffStatus (..), ShareTermDiffResponse (..), ShareTypeDiffResponse (..))
59-
import Share.Web.Share.DisplayInfo (UserDisplayInfo (..))
59+
import Share.Web.Share.DisplayInfo.Types (UserDisplayInfo (..))
6060
import Unison.Name (Name)
6161
import Unison.Server.Types
6262
import Unison.Syntax.Name qualified as Name

0 commit comments

Comments
 (0)