@@ -74,45 +74,34 @@ final class SlackProjectsController {
7474 return try Error . with ( name: . noMarvelToken)
7575 }
7676
77- let projects = try Marvel ( droplet: drop) . projects ( accessToken: marvelToken)
7877
79- guard let projectsArray = projects. data [ " data " ] ? [ " user " ] ? [ " projects " ] ? [ " edges " ] ? . array else {
80- return try Error . with ( name: . general)
81- }
82-
83- var projectsNode = [ MarvelProject] ( )
84- for project in projectsArray{
85- let project = MarvelProject ( with: project [ " node " ] )
86- projectsNode. append ( project)
87- }
88-
89- let project = projectsNode. filter { ( project) -> Bool in
90- return project. pk == value
91- } . first
78+ let projects = try Marvel ( droplet: drop) . project ( pk: value, accessToken: marvelToken)
9279
93- guard let projectFound = project else {
80+ guard let projectDic = projects . data [ " data " ] ? [ " project " ] else {
9481 return try Error . with ( name: . general)
9582 }
9683
97- let collaborators = projectFound. collaborators. flatMap { ( collab) -> String ? in
84+ let project = MarvelProject ( with: projectDic)
85+
86+ let collaborators = project. collaborators. compactMap { ( collab) -> String ? in
9887 return collab. username
9988 } . joined ( separator: " , " )
100- let collabWord = projectFound . collaborators. count > 1 ? " 👧 \( projectFound . collaborators. count) collaborators " : " 👧 1 collaborator "
89+ let collabWord = project . collaborators. count > 1 ? " 👧 \( project . collaborators. count) collaborators " : " 👧 1 collaborator "
10190
10291 return try JSON ( node: [
10392 " response_type " : " in_channel " ,
10493 " replace_original " : false ,
10594 " delete_original " : true ,
10695 " attachments " : [
10796 [
108- " title " : projectFound . name,
109- " title_link " : projectFound . prototypeUrl,
110- " thumb_url " : projectFound . screens. first? . content? . url ?? " " ,
97+ " title " : project . name,
98+ " title_link " : project . prototypeUrl,
99+ " thumb_url " : project . screens. first? . content? . url ?? " " ,
111100 " footer " : " Marvel Prototyping " ,
112101 " fields " : [
113102 [
114103 " title " : " ⏱ Last updated " ,
115- " value " : projectFound . lastModified. since ( ) . capitalizingFirstLetter ( ) ,
104+ " value " : project . lastModified. since ( ) . capitalizingFirstLetter ( ) ,
116105 " short " : true
117106 ] ,
118107 [
0 commit comments