Skip to content

react redux state shape

Jason Allen edited this page Jan 22, 2023 · 5 revisions

MeetUp Store Shape:

store = {
  session: {
    user:{
    id,
    firstName,
    lastName,
    email,
    username
},
groups: {
    allGroups: {
    [groupId]: {
        id,
        organizerId,
        name,
        about,
        type,
        private,
        city,
        state,
        createdAt,
        updatedAt,
        numMembers,
        previewImage
    },
    },
    singleGroup: {
        id,
        organizerId,
        name,
        about,
        type,
        private,
        city,
        state,
        createdAt,
        updatedAt,
        numMembers,
        GroupImages: [
            {
                id,
                url,
                preview
            },
            ...
        ],
        Organizer: {
            id,
            firstName,
            lastName
        },
        Venues: [
        {
            id,
            groupId,
            address,
            city,
            state,
            lat,
            lng
        },
        ...
        ],
    },
    singleGroupEvents: {
        [eventId]: {
            id,
            groupId,
            venueId,
            name,
            type,
            startDate,
            endDate,
            numAttending,
            previewImage,
            Group: {
                id,
                name,
                city,
                state
            },
            Venue: {
                id,
                city,
                state
            }
        }
    }
  },
  events: {
    allEvents: {
      [eventId]: {
            id,
            groupId,
            venueId,
            name,
            type,
            startDate,
            endDate,
            numAttending,
            previewImage,
            Group: {
                id,
                name,
                city,
                state
            },
            Venue: {
                id,
                city,
                state
            }
      },
    },
    // In this slice we have much more info about the event than in the allEvents slice.
    singleEvent: {
        id,
        groupId,
        venueId,
        name,
        description,
        type,
        capacity,
        price,
        startDate,
        endDate,
        numAttending,
        Group: {
            id,
            name,
            private,
            city,
            state
        },
        Venue: {
            id,
            address,
            city,
            state,
            lat,
            lng
        },
      EventImages: [
        {
            id,
            url,
            preview
        },
        ...
      ],
      // Future Features
      Members: [membersData],
      Attendees: [attendeeData],
    },
  },
};

Clone this wiki locally