1- import _keyBy from 'lodash/keyBy '
1+ import { get as _get , keyBy as _keyBy } from 'lodash'
22import moment from 'moment'
33import User from '../../_types/User'
4- import organizationsToUsersData from './organizationsToUsersData'
4+ import UserToOrganization from '../../_types/UserToOrganization'
5+ import UsersToOrganizationsData from './organizationsToUsersData'
6+ import organizationsData from './organizationsData'
57
68const list : User [ ] = [
79 {
810 id : 1 ,
911 firstName : 'Gevorg' ,
10- lastName : 'H ' ,
11- username : 'johndoe1 ' ,
12- email : 'john@doe .com' ,
12+ lastName : 'Harutyunyan ' ,
13+ username : 'modularcoder ' ,
14+ email : 'modularcoder@gmail .com' ,
1315 avatarUrl : 'https://avatars3.githubusercontent.com/u/3959008?v=3&s=40' ,
14- userToOrganizations : organizationsToUsersData . byUserId [ 1 ] ,
16+ // userToOrganizations: organizationsToUsersData.byUserId[1],
1517 globalRole : 'admin' ,
1618 } ,
1719 {
@@ -22,7 +24,7 @@ const list: User[] = [
2224 email : 'example@gmail.com' ,
2325 avatarUrl :
2426 'https://tinyfac.es/data/avatars/475605E3-69C5-4D2B-8727-61B7BB8C4699-500w.jpeg' ,
25- userToOrganizations : organizationsToUsersData . byUserId [ 2 ] ,
27+ // userToOrganizations: organizationsToUsersData.byUserId[2],
2628 } ,
2729 {
2830 id : 3 ,
@@ -32,7 +34,7 @@ const list: User[] = [
3234 email : 'Ana+De+Armas@example.com' ,
3335 avatarUrl :
3436 'https://images-na.ssl-images-amazon.com/images/M/MV5BMjA3NjYzMzE1MV5BMl5BanBnXkFtZTgwNTA4NDY4OTE@._V1_UX172_CR0,0,172,256_AL_.jpg' ,
35- userToOrganizations : organizationsToUsersData . byUserId [ 3 ] ,
37+ // userToOrganizations: organizationsToUsersData.byUserId[3],
3638 } ,
3739 {
3840 id : 4 ,
@@ -41,8 +43,8 @@ const list: User[] = [
4143 username : null ,
4244 email : 'Ana+De+Armas@example.com' ,
4345 avatarUrl :
44- 'https://images-na.ssl-images-amazon.com/images/M/MV5BMjA3NjYzMzE1MV5BMl5BanBnXkFtZTgwNTA4NDY4OTE @._V1_UX172_CR0,0,172,256_AL_.jpg' ,
45- userToOrganizations : organizationsToUsersData . byUserId [ 4 ] ,
46+ 'https://images-na.ssl-images-amazon.com/images/M/MV5BMTc0MzgxMzQ5N15BMl5BanBnXkFtZTgwMzMzNjkwOTE @._V1_UX172_CR0,0,172,256_AL_.jpg' ,
47+ // userToOrganizations: organizationsToUsersData.byUserId[4],
4648 } ,
4749 {
4850 id : 5 ,
@@ -51,65 +53,61 @@ const list: User[] = [
5153 email : 'Sonequa+Martin+Green@example.com' ,
5254 avatarUrl :
5355 'https://images-na.ssl-images-amazon.com/images/M/MV5BMTgxMTc1MTYzM15BMl5BanBnXkFtZTgwNzI5NjMwOTE@._V1_UY256_CR16,0,172,256_AL_.jpg' ,
54- userToOrganizations : organizationsToUsersData . byUserId [ 5 ] ,
56+ // userToOrganizations: organizationsToUsersData.byUserId[5],
5557 } ,
5658 {
5759 id : 6 ,
58- firstName : 'Gevorg ' ,
59- lastName : 'H ' ,
60- username : 'johndoe1 ' ,
61- email : 'john@doe .com' ,
62- avatarUrl : 'https://avatars3.githubusercontent.com/u/3959008?v=3&s=40 ' ,
63- userToOrganizations : organizationsToUsersData . byUserId [ 1 ] ,
60+ firstName : 'Bessie ' ,
61+ lastName : 'Walker ' ,
62+ username : 'bwalk ' ,
63+ email : 'bessie.walker@example .com' ,
64+ avatarUrl : 'https://randomuser.me/api/portraits/women/29.jpg ' ,
65+ // userToOrganizations: organizationsToUsersData.byUserId[6 ],
6466 globalRole : 'admin' ,
6567 } ,
6668 {
6769 id : 7 ,
68- firstName : 'Jay' ,
69- lastName : 'Nickolson' ,
70- username : null ,
71- email : 'example@gmail.com' ,
72- avatarUrl :
73- 'https://tinyfac.es/data/avatars/475605E3-69C5-4D2B-8727-61B7BB8C4699-500w.jpeg' ,
74- userToOrganizations : organizationsToUsersData . byUserId [ 2 ] ,
70+ firstName : 'Scarlett' ,
71+ lastName : 'Sanders' ,
72+ username : 'sanders' ,
73+ email : 'scarlett.sanders@example.com' ,
74+ avatarUrl : 'https://randomuser.me/api/portraits/women/26.jpg' ,
75+ // userToOrganizations: organizationsToUsersData.byUserId[2],
7576 } ,
7677 {
7778 id : 8 ,
78- firstName : 'Ana' ,
79- lastName : 'De Armas' ,
80- username : null ,
81- email : 'Ana+De+Armas@example.com' ,
82- avatarUrl :
83- 'https://images-na.ssl-images-amazon.com/images/M/MV5BMjA3NjYzMzE1MV5BMl5BanBnXkFtZTgwNTA4NDY4OTE@._V1_UX172_CR0,0,172,256_AL_.jpg' ,
84- userToOrganizations : organizationsToUsersData . byUserId [ 3 ] ,
79+ firstName : 'Scott' ,
80+ lastName : 'Jensen' ,
81+ username : 'scjx' ,
82+ email : 'scott.jensen@example.com' ,
83+ avatarUrl : 'https://randomuser.me/api/portraits/men/87.jpg' ,
84+ // userToOrganizations: organizationsToUsersData.byUserId[3],
8585 } ,
8686 {
8787 id : 9 ,
88- firstName : 'Armas ' ,
89- lastName : 'De Ana ' ,
88+ firstName : 'Marcus ' ,
89+ lastName : 'Barrett ' ,
9090 username : null ,
91- email : 'Ana+De+Armas@example.com' ,
92- avatarUrl :
93- 'https://images-na.ssl-images-amazon.com/images/M/MV5BMjA3NjYzMzE1MV5BMl5BanBnXkFtZTgwNTA4NDY4OTE@._V1_UX172_CR0,0,172,256_AL_.jpg' ,
94- userToOrganizations : organizationsToUsersData . byUserId [ 4 ] ,
91+ email : 'marcus.barrett@example.com' ,
92+ avatarUrl : 'https://randomuser.me/api/portraits/men/88.jpg' ,
93+ // userToOrganizations: organizationsToUsersData.byUserId[4],
9594 } ,
9695 {
9796 id : 10 ,
98- firstName : 'Sonequa' ,
99- lastName : 'Martin-Green' ,
100- email : 'Sonequa+Martin+Green@example.com' ,
101- avatarUrl :
102- 'https://images-na.ssl-images-amazon.com/images/M/MV5BMTgxMTc1MTYzM15BMl5BanBnXkFtZTgwNzI5NjMwOTE@._V1_UY256_CR16,0,172,256_AL_.jpg' ,
103- userToOrganizations : organizationsToUsersData . byUserId [ 5 ] ,
97+ firstName : 'Penny' ,
98+ lastName : 'Lawrence' ,
99+ email : 'penny.lawrence@example.com' ,
100+ avatarUrl : 'https://randomuser.me/api/portraits/women/79.jpg' ,
101+ // userToOrganizations: organizationsToUsersData.byUserId[5],
104102 } ,
105103 {
106104 id : 11 ,
107- firstName : 'Gevorg ' ,
108- lastName : 'H ' ,
105+ firstName : 'Melvin ' ,
106+ lastName : 'Sutton ' ,
109107 username : 'johndoe1' ,
110- email : 'john@doe .com' ,
111- avatarUrl : 'https://avatars3.githubusercontent.com/u/3959008?v=3&s=40 ' ,
112- userToOrganizations : organizationsToUsersData . byUserId [ 1 ] ,
108+ email : 'melvin.sutton@example .com' ,
109+ avatarUrl : 'https://randomuser.me/api/portraits/men/85.jpg ' ,
110+ // userToOrganizations: organizationsToUsersData.byUserId[1],
113111 globalRole : 'admin' ,
114112 } ,
115113 {
@@ -120,7 +118,7 @@ const list: User[] = [
120118 email : 'example@gmail.com' ,
121119 avatarUrl :
122120 'https://tinyfac.es/data/avatars/475605E3-69C5-4D2B-8727-61B7BB8C4699-500w.jpeg' ,
123- userToOrganizations : organizationsToUsersData . byUserId [ 2 ] ,
121+ // userToOrganizations: organizationsToUsersData.byUserId[2],
124122 } ,
125123 {
126124 id : 13 ,
@@ -130,7 +128,7 @@ const list: User[] = [
130128 email : 'Ana+De+Armas@example.com' ,
131129 avatarUrl :
132130 'https://images-na.ssl-images-amazon.com/images/M/MV5BMjA3NjYzMzE1MV5BMl5BanBnXkFtZTgwNTA4NDY4OTE@._V1_UX172_CR0,0,172,256_AL_.jpg' ,
133- userToOrganizations : organizationsToUsersData . byUserId [ 3 ] ,
131+ // userToOrganizations: organizationsToUsersData.byUserId[3],
134132 } ,
135133 {
136134 id : 14 ,
@@ -140,7 +138,7 @@ const list: User[] = [
140138 email : 'Ana+De+Armas@example.com' ,
141139 avatarUrl :
142140 'https://images-na.ssl-images-amazon.com/images/M/MV5BMjA3NjYzMzE1MV5BMl5BanBnXkFtZTgwNTA4NDY4OTE@._V1_UX172_CR0,0,172,256_AL_.jpg' ,
143- userToOrganizations : organizationsToUsersData . byUserId [ 4 ] ,
141+ // userToOrganizations: organizationsToUsersData.byUserId[4],
144142 } ,
145143 {
146144 id : 15 ,
@@ -149,13 +147,21 @@ const list: User[] = [
149147 email : 'Sonequa+Martin+Green@example.com' ,
150148 avatarUrl :
151149 'https://images-na.ssl-images-amazon.com/images/M/MV5BMTgxMTc1MTYzM15BMl5BanBnXkFtZTgwNzI5NjMwOTE@._V1_UY256_CR16,0,172,256_AL_.jpg' ,
152- userToOrganizations : organizationsToUsersData . byUserId [ 5 ] ,
150+ // userToOrganizations: organizationsToUsersData.byUserId[5],
153151 } ,
154- ] . map ( item => {
152+ ] . map ( user => {
153+ const userToOrganization = UsersToOrganizationsData . byUserId [ user . id ] || [ ]
154+
155155 return {
156- ...item ,
156+ ...user ,
157+ userOgranizations : userToOrganization . map ( ( relation : UserToOrganization ) => {
158+ return {
159+ ...relation ,
160+ organization : _get ( organizationsData . byId , relation . organizationId , { } ) ,
161+ }
162+ } ) ,
157163 createdAt : moment ( )
158- . subtract ( item . id , 'days' )
164+ . subtract ( user . id , 'days' )
159165 . format ( ) ,
160166 }
161167} )
0 commit comments