use named record constructors
This commit is contained in:
parent
7605ddaaa7
commit
4a574287b9
|
@ -135,25 +135,27 @@ _toNote userId NoteForm {..} = do
|
||||||
slug <- maybe mkNtSlug pure _slug
|
slug <- maybe mkNtSlug pure _slug
|
||||||
pure $
|
pure $
|
||||||
Note
|
Note
|
||||||
userId
|
{ noteUserId = userId
|
||||||
slug
|
, noteSlug = slug
|
||||||
(length _text)
|
, noteLength = length _text
|
||||||
(fromMaybe "" _title)
|
, noteTitle = fromMaybe "" _title
|
||||||
(maybe "" unTextarea _text)
|
, noteText = maybe "" unTextarea _text
|
||||||
(fromMaybe False _isMarkdown)
|
, noteIsMarkdown = fromMaybe False _isMarkdown
|
||||||
(fromMaybe False _shared)
|
, noteShared = fromMaybe False _shared
|
||||||
(fromMaybe time (fmap unUTCTimeStr _created))
|
, noteCreated = fromMaybe time (fmap unUTCTimeStr _created)
|
||||||
(fromMaybe time (fmap unUTCTimeStr _updated))
|
, noteUpdated = fromMaybe time (fmap unUTCTimeStr _updated)
|
||||||
|
}
|
||||||
|
|
||||||
noteToRssEntry :: UserNameP -> Entity Note -> FeedEntry (Route App)
|
noteToRssEntry :: UserNameP -> Entity Note -> FeedEntry (Route App)
|
||||||
noteToRssEntry usernamep (Entity entryId entry) =
|
noteToRssEntry usernamep (Entity entryId entry) =
|
||||||
FeedEntry { feedEntryLink = NoteR usernamep (noteSlug entry)
|
FeedEntry
|
||||||
, feedEntryUpdated = (noteUpdated entry)
|
{ feedEntryLink = NoteR usernamep (noteSlug entry)
|
||||||
, feedEntryTitle = (noteTitle entry)
|
, feedEntryUpdated = noteUpdated entry
|
||||||
, feedEntryContent = (toHtml (noteText entry))
|
, feedEntryTitle = noteTitle entry
|
||||||
, feedEntryEnclosure = Nothing
|
, feedEntryContent = toHtml (noteText entry)
|
||||||
, feedEntryCategories = []
|
, feedEntryEnclosure = Nothing
|
||||||
}
|
, feedEntryCategories = []
|
||||||
|
}
|
||||||
|
|
||||||
getNotesFeedR :: UserNameP -> Handler RepRss
|
getNotesFeedR :: UserNameP -> Handler RepRss
|
||||||
getNotesFeedR unamep@(UserNameP uname) = do
|
getNotesFeedR unamep@(UserNameP uname) = do
|
||||||
|
@ -173,12 +175,15 @@ getNotesFeedR unamep@(UserNameP uname) = do
|
||||||
updated <- case maximumMay (map feedEntryUpdated entries) of
|
updated <- case maximumMay (map feedEntryUpdated entries) of
|
||||||
Nothing -> liftIO $ getCurrentTime
|
Nothing -> liftIO $ getCurrentTime
|
||||||
Just m -> return m
|
Just m -> return m
|
||||||
rssFeed $ Feed (uname <> " notes")
|
rssFeed $
|
||||||
(NotesFeedR unamep)
|
Feed
|
||||||
(NotesR unamep)
|
{ feedTitle = uname <> " notes"
|
||||||
uname
|
, feedLinkSelf = NotesFeedR unamep
|
||||||
descr
|
, feedLinkHome = NotesR unamep
|
||||||
"en"
|
, feedAuthor = uname
|
||||||
updated
|
, feedDescription = descr
|
||||||
Nothing
|
, feedLanguage = "en"
|
||||||
entries
|
, feedUpdated = updated
|
||||||
|
, feedLogo = Nothing
|
||||||
|
, feedEntries = entries
|
||||||
|
}
|
||||||
|
|
|
@ -98,15 +98,16 @@ _updateTagCloudMode mode =
|
||||||
TagCloudModeRelated _ _ -> setTagCloudMode mode
|
TagCloudModeRelated _ _ -> setTagCloudMode mode
|
||||||
TagCloudModeNone -> notFound
|
TagCloudModeNone -> notFound
|
||||||
|
|
||||||
bookmarkToRssEntry :: (Entity Bookmark,[Text]) -> FeedEntry Text
|
bookmarkToRssEntry :: (Entity Bookmark, [Text]) -> FeedEntry Text
|
||||||
bookmarkToRssEntry ((Entity entryId entry), tags) =
|
bookmarkToRssEntry ((Entity entryId entry), tags) =
|
||||||
FeedEntry { feedEntryLink = (bookmarkHref entry)
|
FeedEntry
|
||||||
, feedEntryUpdated = (bookmarkTime entry)
|
{ feedEntryLink = bookmarkHref entry
|
||||||
, feedEntryTitle = (bookmarkDescription entry)
|
, feedEntryUpdated = bookmarkTime entry
|
||||||
, feedEntryContent = (toHtml (bookmarkExtended entry))
|
, feedEntryTitle = bookmarkDescription entry
|
||||||
, feedEntryCategories = map (EntryCategory Nothing Nothing) tags
|
, feedEntryContent = toHtml (bookmarkExtended entry)
|
||||||
, feedEntryEnclosure = Nothing
|
, feedEntryCategories = map (EntryCategory Nothing Nothing) tags
|
||||||
}
|
, feedEntryEnclosure = Nothing
|
||||||
|
}
|
||||||
|
|
||||||
toBookmarkWithTagsList :: [Entity Bookmark] -> [Entity BookmarkTag] -> [(Entity Bookmark, [Text])]
|
toBookmarkWithTagsList :: [Entity Bookmark] -> [Entity BookmarkTag] -> [(Entity Bookmark, [Text])]
|
||||||
toBookmarkWithTagsList bs as = do
|
toBookmarkWithTagsList bs as = do
|
||||||
|
@ -139,12 +140,15 @@ getUserFeedR unamep@(UserNameP uname) = do
|
||||||
Nothing -> liftIO $ getCurrentTime
|
Nothing -> liftIO $ getCurrentTime
|
||||||
Just m -> return m
|
Just m -> return m
|
||||||
render <- getUrlRender
|
render <- getUrlRender
|
||||||
rssFeedText $ Feed ("espial " <> uname)
|
rssFeedText $
|
||||||
(render (UserFeedR unamep))
|
Feed
|
||||||
(render (UserR unamep))
|
{ feedTitle = "espial " <> uname
|
||||||
uname
|
, feedLinkSelf = render (UserFeedR unamep)
|
||||||
descr
|
, feedLinkHome = render (UserR unamep)
|
||||||
"en"
|
, feedAuthor = uname
|
||||||
updated
|
, feedDescription = descr
|
||||||
Nothing
|
, feedLanguage = "en"
|
||||||
entries
|
, feedUpdated = updated
|
||||||
|
, feedLogo = Nothing
|
||||||
|
, feedEntries = entries
|
||||||
|
}
|
||||||
|
|
101
src/Model.hs
101
src/Model.hs
|
@ -326,29 +326,31 @@ fileBookmarkToBookmark user (FileBookmark {..}) = do
|
||||||
slug <- mkBmSlug
|
slug <- mkBmSlug
|
||||||
pure $
|
pure $
|
||||||
Bookmark
|
Bookmark
|
||||||
user
|
{ bookmarkUserId = user
|
||||||
slug
|
, bookmarkSlug = slug
|
||||||
fileBookmarkHref
|
, bookmarkHref = fileBookmarkHref
|
||||||
fileBookmarkDescription
|
, bookmarkDescription = fileBookmarkDescription
|
||||||
fileBookmarkExtended
|
, bookmarkExtended = fileBookmarkExtended
|
||||||
fileBookmarkTime
|
, bookmarkTime = fileBookmarkTime
|
||||||
fileBookmarkShared
|
, bookmarkShared = fileBookmarkShared
|
||||||
fileBookmarkToRead
|
, bookmarkToRead = fileBookmarkToRead
|
||||||
(fromMaybe False fileBookmarkSelected)
|
, bookmarkSelected = (fromMaybe False fileBookmarkSelected)
|
||||||
fileBookmarkArchiveHref
|
, bookmarkArchiveHref = fileBookmarkArchiveHref
|
||||||
|
}
|
||||||
|
|
||||||
bookmarkTofileBookmark :: Bookmark -> Text -> FileBookmark
|
bookmarkTofileBookmark :: Bookmark -> Text -> FileBookmark
|
||||||
bookmarkTofileBookmark (Bookmark {..}) tags =
|
bookmarkTofileBookmark (Bookmark {..}) tags =
|
||||||
FileBookmark
|
FileBookmark
|
||||||
bookmarkHref
|
{ fileBookmarkHref = bookmarkHref
|
||||||
bookmarkDescription
|
, fileBookmarkDescription = bookmarkDescription
|
||||||
bookmarkExtended
|
, fileBookmarkExtended = bookmarkExtended
|
||||||
bookmarkTime
|
, fileBookmarkTime = bookmarkTime
|
||||||
bookmarkShared
|
, fileBookmarkShared = bookmarkShared
|
||||||
bookmarkToRead
|
, fileBookmarkToRead = bookmarkToRead
|
||||||
(Just bookmarkSelected)
|
, fileBookmarkSelected = Just bookmarkSelected
|
||||||
bookmarkArchiveHref
|
, fileBookmarkArchiveHref = bookmarkArchiveHref
|
||||||
tags
|
, fileBookmarkTags = tags
|
||||||
|
}
|
||||||
|
|
||||||
data FFBookmarkNode = FFBookmarkNode
|
data FFBookmarkNode = FFBookmarkNode
|
||||||
{ firefoxBookmarkChildren :: Maybe [FFBookmarkNode]
|
{ firefoxBookmarkChildren :: Maybe [FFBookmarkNode]
|
||||||
|
@ -389,16 +391,17 @@ firefoxBookmarkNodeToBookmark user (FFBookmarkNode {..}) = do
|
||||||
slug <- mkBmSlug
|
slug <- mkBmSlug
|
||||||
pure $
|
pure $
|
||||||
[ Bookmark
|
[ Bookmark
|
||||||
user
|
{ bookmarkUserId = user
|
||||||
slug
|
, bookmarkSlug = slug
|
||||||
(fromMaybe "" firefoxBookmarkUri)
|
, bookmarkHref = (fromMaybe "" firefoxBookmarkUri)
|
||||||
firefoxBookmarkTitle
|
, bookmarkDescription = firefoxBookmarkTitle
|
||||||
""
|
, bookmarkExtended = ""
|
||||||
(TI.posixSecondsToUTCTime (firefoxBookmarkDateAdded / 1000000))
|
, bookmarkTime = (TI.posixSecondsToUTCTime (firefoxBookmarkDateAdded / 1000000))
|
||||||
True
|
, bookmarkShared = True
|
||||||
False
|
, bookmarkToRead = False
|
||||||
False
|
, bookmarkSelected = False
|
||||||
Nothing
|
, bookmarkArchiveHref = Nothing
|
||||||
|
}
|
||||||
]
|
]
|
||||||
2 ->
|
2 ->
|
||||||
join <$>
|
join <$>
|
||||||
|
@ -584,15 +587,16 @@ fileNoteToNote user (FileNote {..} ) = do
|
||||||
slug <- mkNtSlug
|
slug <- mkNtSlug
|
||||||
pure $
|
pure $
|
||||||
Note
|
Note
|
||||||
user
|
{ noteUserId = user
|
||||||
slug
|
, noteSlug = slug
|
||||||
fileNoteLength
|
, noteLength = fileNoteLength
|
||||||
fileNoteTitle
|
, noteTitle = fileNoteTitle
|
||||||
fileNoteText
|
, noteText = fileNoteText
|
||||||
False
|
, noteIsMarkdown = False
|
||||||
False
|
, noteShared = False
|
||||||
fileNoteCreatedAt
|
, noteCreated = fileNoteCreatedAt
|
||||||
fileNoteUpdatedAt
|
, noteUpdated = fileNoteUpdatedAt
|
||||||
|
}
|
||||||
|
|
||||||
insertDirFileNotes :: Key User -> FilePath -> DB (Either String Int)
|
insertDirFileNotes :: Key User -> FilePath -> DB (Either String Int)
|
||||||
insertDirFileNotes userId noteDirectory = do
|
insertDirFileNotes userId noteDirectory = do
|
||||||
|
@ -687,16 +691,17 @@ _toBookmark userId BookmarkForm {..} = do
|
||||||
slug <- maybe mkBmSlug pure _slug
|
slug <- maybe mkBmSlug pure _slug
|
||||||
pure $
|
pure $
|
||||||
Bookmark
|
Bookmark
|
||||||
userId
|
{ bookmarkUserId = userId
|
||||||
slug
|
, bookmarkSlug = slug
|
||||||
_url
|
, bookmarkHref = _url
|
||||||
(fromMaybe "" _title)
|
, bookmarkDescription = (fromMaybe "" _title)
|
||||||
(maybe "" unTextarea _description)
|
, bookmarkExtended = (maybe "" unTextarea _description)
|
||||||
(fromMaybe time (fmap unUTCTimeStr _time))
|
, bookmarkTime = (fromMaybe time (fmap unUTCTimeStr _time))
|
||||||
(maybe True not _private)
|
, bookmarkShared = (maybe True not _private)
|
||||||
(fromMaybe False _toread)
|
, bookmarkToRead = (fromMaybe False _toread)
|
||||||
(fromMaybe False _selected)
|
, bookmarkSelected = (fromMaybe False _selected)
|
||||||
_archiveUrl
|
, bookmarkArchiveHref = _archiveUrl
|
||||||
|
}
|
||||||
|
|
||||||
fetchBookmarkByUrl :: Key User -> Maybe Text -> DB (Maybe (Entity Bookmark, [Entity BookmarkTag]))
|
fetchBookmarkByUrl :: Key User -> Maybe Text -> DB (Maybe (Entity Bookmark, [Entity BookmarkTag]))
|
||||||
fetchBookmarkByUrl userId murl = runMaybeT $ do
|
fetchBookmarkByUrl userId murl = runMaybeT $ do
|
||||||
|
|
Loading…
Reference in a new issue