Commit Graph

2476 Commits

Author SHA1 Message Date
Zachary Wasserman
e0c767bc1e Update JS password validation (#1213)
Fixes #1212
2017-02-13 15:34:24 -08:00
Mike Stone
b32e489716 Fix JS test warnings (#1209) 2017-02-13 18:19:00 -05:00
Mike Stone
f0f40d3168 Indicate failed hosts on Query Results table (#1192)
* Adds hosts_count attribute to campaign with success/fail/total

* Displays error % in Progress Bar component

* Indicate failed hosts on Query Results table

* Changes ProgressBar background to silver
2017-02-10 09:39:20 -05:00
Mike Stone
e565e03130 License features (#1134)
* API client to create and get an app license

* Fixes unhandled promise rejection errors in redux config

* License Page and Form

* Adds getLicense action

* Adds License key area to App Settings Form

* Use license.token instead of license.license

* Implement API client

* Adds key icon to License Form

* Adds License Success component

* Render License Success on License Page when there is a license

* Adds persistent flash actions and reducer to redux

* Adds nag message middleware

* Moves FlashMessage component to flash_message directory

* Adds Persistent Flash component

* Renders Persistent Flash component from Core Layout

* Adds Kyle's styles

* Change license validation message

* Finishing touches for app config form license area

* Handle revoked licenses

* License Page hits setup endpoint

* Display server errors on license form

* Changes 0 allowed hosts to unlimited

* Trims JWT token before sending to the server

* GET setup page after submitting license
2017-02-09 22:16:51 -05:00
Mike Stone
77e83b986c Avoid page flashing on the User Management Page (#1191) 2017-02-08 16:38:11 -08:00
Mike Stone
482ff32be6 Display server errors on the Reset Password Form (#1154) 2017-02-07 11:46:08 -08:00
Mike Stone
3120acf8f3 Send platform parameter when creating labels (#1179)
* Catches errors when polling for data on Manage Hosts Page

* Sends platform parameter to server on label create

* Remove unnecessary condition to format platform param

* Clean up scheduled query formData
2017-02-07 13:37:41 -05:00
Mike Stone
e60a732c48 Render confirmation modal before deleting packs (#1167) 2017-02-07 09:57:51 -05:00
Mike Stone
eb4ae47f09 Disable enroll secret input field in Add Host Modal (#1180) 2017-02-07 09:31:03 -05:00
Mike Stone
160c031a0b Client-side password validation (#1181) 2017-02-07 09:29:48 -05:00
Mike Arpaia
4294bb1e4e Fixing broken documentation links (#1174)
With the new URL pattern that we schemed up for the docs site, these
links need to updated in the application.
2017-02-06 12:37:26 -07:00
Mike Stone
cd838f7afb Render the 500 page after 500 errors 2017-02-06 10:04:20 -05:00
Zachary Wasserman
c0b64182d5 Update app strings for release (#1163)
- Setup strings + appropriate style changes
- Post-login string
2017-02-02 12:43:18 -08:00
Mike Stone
eb948da80d Fix weird rendering issue when for no query results (#1146) 2017-02-02 10:39:01 -05:00
Zachary Wasserman
1742ad3a9e Fix and re-enable query syntax checking (#1150)
- Upgrade sqlite-parser version
- Revert "Stop validating query syntax (#1090)"
- Update tests
2017-02-02 10:36:05 -05:00
Kyle Knight
d5cb38aff2 Updating setup to not have so much white space between text and form (#1147) 2017-02-02 10:26:22 -05:00
Kyle Knight
c12340b346 Update Delete Query modal style (#1149) 2017-02-02 10:25:42 -05:00
Mike Stone
b3897d3d38 Silently poll for hosts on the Manage Hosts Page (#1141)
* Adds silentLoadAll action to entities

* Polls for hosts from the Manage Hosts Page
2017-02-01 17:34:07 -05:00
Mike Stone
f263fbcba2 Add shard to scheduled query form (#1142)
* Adds shard input to Configure Pack Query Form

* Adds shard to API client

* Adds shard attribute to scheduled queries list
2017-02-01 15:48:08 -05:00
Mike Stone
8bb57ca02e Enable filtering by hostname (#1139) 2017-01-31 15:12:38 -05:00
Mike Stone
f655ca5966 Adds middleware to logout user for 401 errors (#1121) 2017-01-30 15:20:06 -05:00
Mike Stone
1b54ce18ab Fetch hosts when a label is clicked in the Host Side Panel (#1124) 2017-01-30 15:14:15 -05:00
Mike Stone
9468fb3908 Reset checkedQueryIDs after queries are deleted (#1125) 2017-01-30 15:12:31 -05:00
Mike Stone
cdc3d1bf3a Renders query list in case-insensitive alpha order (#1126) 2017-01-30 15:11:13 -05:00
Mike Stone
54653127ee Clear selected targets and query results on page change (#1127) 2017-01-30 15:09:26 -05:00
Mike Stone
e2dfd69269 Update the user in auth state when the current user is patched (#1099) 2017-01-27 11:40:35 -05:00
Mike Stone
2592248f9d Stop re-rendering of page component from covering up form errors (#1104) 2017-01-27 10:41:55 -05:00
Mike Stone
602b9ea859 Handle host_hostname in query results table header (#1110) 2017-01-27 10:38:33 -05:00
Mike Stone
e18f93de02 Wait for API calls to complete before rendering page (#1117) 2017-01-27 10:05:44 -05:00
Mike Stone
bc724388cb Poll for labels every 5 seconds (#1091)
* Poll for labels every 5 seconds

* Poll for host summaries
2017-01-25 12:27:58 -05:00
Kyle Knight
7a7fe9c156 Only render Host Details icon if it has data (#1097) 2017-01-25 11:24:26 -06:00
Kyle Knight
ac18b1e19e Stop Enroll Secret copy from adding new lines (#1096) 2017-01-25 10:58:28 -05:00
Kyle Knight
58e4b43a1f Fix sidebar responsive gap (#1092) 2017-01-25 09:35:59 -05:00
Kyle Knight
8f6cd65f4b Sorting Query and Packs tables alphabetically (#1093) 2017-01-25 08:31:29 -06:00
Kyle Knight
bd1ce34b90 Prevent query table headers from overflowing (#1094) 2017-01-25 09:31:13 -05:00
Kyle Knight
7e10847172 Update verbiage on Delete Hosts modal (#1095) 2017-01-25 09:28:40 -05:00
Kyle Knight
3ec6b10324 Allow users to select multiple platforms for pack query (#1074) 2017-01-24 18:52:48 -05:00
Mike Stone
8749633b85 Stop validating query syntax (#1090) 2017-01-24 17:23:20 -05:00
Mike Stone
949b9b53b1 Stop SMTP password from incorrectly preventing App Settings PATCH requests (#1076)
* Stop validating fake password
2017-01-24 17:19:43 -05:00
Mike Stone
8432d0494f Allow users to export query results (#1082) 2017-01-24 16:18:02 -05:00
Mike Stone
99e5af916a send osquery enroll secret to server (#1077) 2017-01-23 09:39:46 -05:00
Jason Meller
3f55080a27 Calc gigabytes by 1024 (#1075) 2017-01-20 20:44:58 -05:00
Mike Stone
c56a8b3465 Allow PATCHing the osquery enroll secret (#1073) 2017-01-20 20:17:03 -05:00
Mike Stone
378bf5571b connect new host enrollment (#1072) 2017-01-20 20:16:00 -05:00
Kyle Knight
3e3588706b Update Add Host Modal Styles & Tests (#1068) 2017-01-20 19:10:58 -05:00
Kyle Knight
378331ab58 Style Edit Packs form (#1033) 2017-01-20 18:10:32 -05:00
Kyle Knight
57ffd2dd66 Adding hosts count to query packs table (#1021) 2017-01-20 18:09:22 -05:00
Kyle Knight
eb82856ae4 Output proper percentage of online hosts (#1071) 2017-01-20 18:08:35 -05:00
Mike Stone
bc9273622c Add Query online hosts button (#1070) 2017-01-20 18:07:54 -05:00
Kyle Knight
197b729b61 Add New Host Modal (#1052) 2017-01-20 12:52:57 -05:00
Mike Stone
d6f7f39312 Return an empty array when array items are removed (#1061) 2017-01-20 12:17:51 -05:00
Mike Stone
e56e94b86e Add host details throughout app (#973) 2017-01-20 12:02:13 -05:00
Mike Stone
5b6d84e0ad Stop calculating new count on the client (#1060) 2017-01-20 10:30:30 -05:00
Mike Stone
3c6b59197d Allow users to delete hosts (#1028) 2017-01-19 18:39:06 -05:00
Kyle Knight
b1a3ee8927 Add "No Hosts" message for All Hosts label (#1045) 2017-01-19 18:12:37 -05:00
Kyle Knight
24ed16419f Add "No Hosts" message conditional for Custom Labels (#1042) 2017-01-19 16:45:03 -05:00
Mike Stone
c52ccbe74f Add “New” label to Hosts' page (#1018) 2017-01-19 16:29:49 -05:00
Kyle Knight
b83b244793 Add in message if label has no hosts (#1038) 2017-01-19 16:14:44 -05:00
Mike Stone
638ec8a1f3 Modify user endpoints (#1023)
* Update admin API client

* updateAdmin redux action

* Changes UserManagementPage actions for update admin

* Enable user API client

* Enable user redux actions

* Change UserManagementPage to dispatch enable user actions

* Connect change password to API
2017-01-19 14:55:42 -05:00
Kyle Knight
2a6ccfe4f6 Remove Add Hosts page (#1035) 2017-01-19 14:44:35 -05:00
Kyle Knight
2381dbd8ae Adding in woff2 and updating to latest icon set (#1034) 2017-01-19 14:41:58 -05:00
Kyle Knight
920908016e Style Invite User Modal (#1024) 2017-01-19 13:00:08 -05:00
Kyle Knight
32c51d2be7 Add delete button to custom Host Labels (#1014) 2017-01-19 12:57:59 -05:00
Kyle Knight
2b55cf3acf Remove all signs of Import osquery config page (#1015) 2017-01-19 12:24:01 -05:00
Jason Meller
35c7fd6e03 Build assets for production (#1022) 2017-01-19 10:24:10 -05:00
Mike Stone
dd74d37033 Send changed params in patch requests (#1005)
* PATCH packs with updated attributes only

* PATCH queries with updated attributes only

* PATCH user updates with updated attributes only

* Prevent setting state on unmounted component

* Load all packs on the manage packs page

* Do not send target info to server if unchanged
2017-01-18 12:10:37 -05:00
Mike Stone
b28d96b5cc Allow PATCHing the app config domain (#1006) 2017-01-18 11:07:24 -05:00
Mike Stone
53bf49e821 Open link to help in a new tab (#999) 2017-01-18 09:40:28 -05:00
Mike Stone
0dbe94573f Don’t allow user to run query without selected targets (#1000) 2017-01-18 09:38:52 -05:00
Kyle Knight
c688798b5c Fix User Settings page responsive issues (#992) 2017-01-18 09:30:36 -05:00
Mike Stone
9e98d35128 Only send changed attributes when PATCHing app settings (#997) 2017-01-17 17:45:07 -05:00
Mike Stone
6b3a54ba79 handle disabled email in invite form (#994)
* Moves SmtpWarning to the components directory

* Renders base errors on invite user form

* Prevents add user and displays warning if smtp not configured

* Wait to render content until API calls finish
2017-01-17 16:50:40 -05:00
Mike Stone
3659407160 Filters hosts by custom label (#978)
* Filters hosts by custom label

* display singular “Host” when host count is 1
2017-01-17 16:44:00 -05:00
Kyle Knight
d1a259f4c0 Add a "No Packs Available" message (#988) 2017-01-17 16:13:59 -05:00
Kyle Knight
f28bd803c4 Manage Hosts filtered icons (#987)
* Cleaning up rendered icons on hosts page

* Fixing lint
2017-01-17 12:55:19 -06:00
Kyle Knight
3b857466b7 Show any osquery version and all platforms in packs (#940) 2017-01-17 11:45:16 -05:00
Kyle Knight
f169b68bdf Style osquery config page (#968) 2017-01-17 11:38:56 -05:00
Mike Stone
89c0ac393b Query result table performance (#975)
* Query Results Table performance improvement
2017-01-17 09:08:40 -05:00
Mike Stone
da27a44493 Filter hosts for “All Hosts”, platform hosts, and status hosts (#971) 2017-01-17 06:55:31 +08:00
Mike Stone
630ba45448 756 status labels (#967)
* API client to get status label summary

* Handle status label counts in state

* Display status counts in hosts side panel
2017-01-16 15:59:01 -05:00
Kyle Knight
501f2c74c7 Fix rendering issues with Firefox ForgotPassword (#958) 2017-01-13 18:32:21 -05:00
Mike Stone
639bdb4e11 Scaffold import config page (#927) 2017-01-13 18:27:58 -05:00
Kyle Knight
0c18b5161a Load higher quality gravatar (#957) 2017-01-13 18:10:43 -05:00
Kyle Knight
3113ae4651 Add a timer component to new query screen (#944) 2017-01-13 17:15:03 -05:00
Kyle Knight
ed1fa22729 Add caret back into the user menu dropdown (#950) 2017-01-13 15:23:11 -05:00
Kyle Knight
a8b8e0fd50 Sort hosts cards alphabetically and by status (#941) 2017-01-12 20:18:23 -05:00
Kyle Knight
048938de0b Add spinner for running Query (#926)
* Add spinner for running query

* fixing lint

* Adding in check for this.socket

* Full height results area with centered spinner

* Don't hide table if query is stopped

* Remove results container if no results yet

* No more console.log
2017-01-12 12:28:46 -06:00
Kyle Knight
0a9f0cccb4 Alphabetize New Query sidebar table dropdown (#939) 2017-01-12 13:23:17 -05:00
Kyle Knight
7108a816b7 Manage Query row highlighted when selected (#935) 2017-01-12 11:45:55 -05:00
Kyle Knight
427235b837 Select Targets disabled adding padding to right side (#925) 2017-01-12 11:32:41 -05:00
Kyle Knight
a8824678a3 Removing fixed header from New Query results table (#912) 2017-01-12 10:09:04 -06:00
Kyle Knight
6f0fb864d7 Styling packs list in Manage Query sidebar (#856) 2017-01-11 19:31:23 -05:00
Kyle Knight
38120b9fca Sidebar, titles, and descriptions should now force wrap or ellipsis (#905)
* Sidebar, titles, and descriptions should now force wrap or ellipsis

* Fixing lint issue
2017-01-11 14:35:45 -06:00
Kyle Knight
d6964d058f Remove descriptions from custom labels (#870) 2017-01-11 12:27:46 -07:00
Kyle Knight
1a011dadbd Removing requirement for org avatar & fixing "Enter" key on /setup (#871)
* Removing requirment for org avatar

* Convert /setup to multiple forms

* Getting kinks worked out of Enter key

* Fixing typescript nonesense linting issues
2017-01-11 12:27:33 -07:00
Kyle Knight
7a44c269a9 Prevent default queries from rendering (#862)
* Prevent default queries from rendering

* Small styling tweaks
2017-01-11 13:08:27 -06:00
Mike Stone
d1a18bcb89 Add targets to packs (#831)
* Allow form field values to be an array

* Send the server host and label ids on create

* Get and display the targets in a pack

* Adds target_type to labels and hosts

* Allow updating a pack’s targets as well as name and description

* Adds select targets dropdown to edit pack page

* Adds targets to dropdown when pack is edited
2017-01-11 12:10:14 -05:00
Kyle Knight
242ee30531 Render username if no name is present (#854)
* Render username if no name is present

* Adding in unspecified job title
2017-01-11 08:40:58 -06:00
Mike Arpaia
efca0947ec SMTP API changes (#883)
* SMTP API changes

* remove smtp buttons

* remove password from api response

* no fields are required in the patch request
2017-01-10 21:41:58 -07:00
Mike Arpaia
5eb926c891 Make SMTP configuration work (#877)
* add a js validator that makes smtp server port required

* specifying that the InputField should be a number. this doesn't work, but i think that it should.

* casting the port as an int as a stop-gap fix

* email doesn't already have to be enabled to be enabled

* don't return the smtp password from the API

* show a fake placeholder password if the username is also set

* error type for @groob
2017-01-10 19:00:46 -07:00
Mike Arpaia
84aaec0d71 Fix a few osquery config bugs (#869) 2017-01-10 15:27:52 -07:00
Kyle Knight
f3f6ff4010 Fixing some styling issues on New Label Query (#849)
* Fixing some styling issues on New Label Query

* Fix lint error:
2017-01-10 13:20:36 -06:00
Kyle Knight
204417b361 Fixed position Flash Message (#859) 2017-01-10 13:10:15 -06:00
Kyle Knight
9ed7c44d0f Updating sidebar content on Manage Packs (#857)
* Updating sidebar content on Manage Packs

* Updating documentation link and some spelling issues
2017-01-10 13:09:55 -06:00
Kyle Knight
73035877b3 Fixing spacing of manage packs header (#848)
* Fixing spacing of header

* Make h1 headers consistent
2017-01-10 10:27:10 -06:00
Zachary Wasserman
60428e01c4 Fix required password reset flow (#833)
Permissions errors were preventing users from completing this flow

- Add separate endpoint for performing required password reset
- Rewrite frontend reset to use this endpoint

Fixes #792
2017-01-09 21:42:50 -07:00
Kyle Knight
0fc4238595 Styling Manage Queries page (#793) 2017-01-09 21:58:18 -05:00
Kyle Knight
2bbad2f05a Getting New Query back in order (#830) 2017-01-09 17:13:52 -06:00
Mike Stone
fa5c0c53cd Fix run query bug where query text wasn’t changing (#821) 2017-01-09 15:32:23 -05:00
Mike Stone
cc5aa3395d Password fields (#769)
* Sets original password and SMTP config password as HTML password fields
2017-01-09 09:44:52 -05:00
Mike Stone
18ba071a88 Fix logout bug on Safari (#787) 2017-01-06 22:09:31 -07:00
Mike Stone
1831e131a3 Correctly sets the user’s role in user settings page (#786) 2017-01-06 22:07:23 -07:00
Zachary Wasserman
77e4f3d936 Refactor require password reset into separate endpoint (#725)
- Remove require password reset from ModifyUser and
  RequestPasswordReset methods, and UserPayload struct
- Add new RequirePasswordReset method
- Refactor JS for new separate method
2017-01-06 14:38:39 -08:00
Mike Stone
39c9c6b0da Manage queries page (#762)
* renders ManageQueriesPage at /queries/manage

* Renames QueriesList components to ScheduledQueriesList components

* creates QueriesList component

* Adds side panel component to display query details

* Adds KolideAce editor to Query Details side panel

* Handle Edit Query button click

* Change text of the Delete Query button

* Show confirmation modal before deleting queries
2017-01-06 15:57:44 -05:00
Mike Stone
a9cfd5b641 Adds API client to destroy queries (#784) 2017-01-06 15:26:58 -05:00
Kyle Knight
8647d9c669 404 & 500 Error pages (#780)
* Adding in favicons

* Helps if i add the images

* Updating apple icon names

* 404 Page

* 500 Page

* Cleaning up linting issues
2017-01-06 13:25:48 -07:00
Mike Stone
e9cc3e3a13 Only re-render the org logo when src is changed (#779) 2017-01-06 13:45:37 -05:00
Kyle Knight
3a6a32a645 Favicons (#778)
* Adding in favicons

* Helps if i add the images

* Updating apple icon names
2017-01-06 10:28:34 -07:00
Kyle Knight
eaf0105c6c Some additional stylings to make New Packs a little more bester (#679) 2017-01-06 09:36:51 -06:00
Kyle Knight
a8947adf36 min-height on manage pages (#770) 2017-01-06 09:31:14 -06:00
Kyle Knight
d6a7fd1e3a Moving buttons to be inline with SMTP Options (#768) 2017-01-06 09:30:31 -06:00
Kyle Knight
e5a2f42f4b Fixing Manage User cards (#767) 2017-01-06 09:30:06 -06:00
Mike Stone
1c2d243cc8 Validate presence of the organization name in settings (#773) 2017-01-05 19:41:32 -05:00
Mike Stone
f532c2fd70 Fixes bug for undefined ID when revoking invites (#771) 2017-01-05 19:13:28 -05:00
Mike Stone
92d91fdebc Handle server errors (#730)
* consistent error handling

* Display server errors in InviteUserForm

* Handle errors in Form component

* Refactors query form

* creates KolideAce component

* Renders QueryForm from query page and manage hosts page

* Moves ace editor and select targets dropdown to query form

* Render base errors in Form HOC

* LoginPage and ForgotPasswordPage server errors

* Ensure unique key for user blocks

* Adds base error to login form and forgot password form

* Adds base error to query form

* Adds base error to Pack Form

* Adds errors to confirm invite form

* Adds clearErrors action

* clear errors when confirm invite page unmounts

* Handle errors in the App Setting page

* Handle server errors in the User Settings Page

* Handle server errors in the User Management Page
2017-01-05 19:01:17 -05:00
Kyle Knight
1d560c004e Host Details cards cleanup (#700) 2017-01-05 12:08:50 -06:00
Kyle Knight
cff7d19ad5 Updating FlashMessage styles (#684) 2017-01-05 12:08:19 -06:00
Kyle Knight
413789386a Updating styles for Accept Invite page (#747) 2017-01-05 09:53:41 -06:00
Kyle Knight
87edc9c238 Updated User Menu Design (#749) 2017-01-05 09:41:53 -06:00
Kyle Knight
ab540cdfb5 Dropdown Button (#744) 2017-01-05 09:26:10 -06:00
Mike Stone
4ba3ad51f0 All packs page (#709)
* Display packs page at /packs/manage

* Adds NumberPill component

* Filter packs list

* Render the pack info side panel when no packs are selected

* Adds packs list

* Moves state management to page component

* Display selected pack count

* Render bulk action buttons

* API client - update pack

* API client - destroy pack

* Adds update/destroy functions to packs redux config

* Bulk actions (enable, disable, delete)

* Selecting a pack updates state

* PackDetailsSidePanel updates pack status

* Link to edit pack on side panel

* sets selected pack in URL

* Sets color for unsettled buttons

* Loads scheduled queries for selected pack in All Packs Page

* PackDetailsSidePanel component

* PackDetailsSidePanel styles

* styles PacksList component

* Stop rendering flash when pack status is updated

* Makes full row clickable

* highlight selected pack
2017-01-03 15:56:50 -05:00
Mike Stone
448e806c36 374 confirm invite (#583)
* ConfirmInviteForm

* Render ConfirmInvitePage at /invites/:invite_token

* Add email, pre-fill name, and handle successful submit

* Fix button text
2016-12-29 15:27:43 -05:00
Mike Stone
cba01cd052 Handle invalid delete requests (#699)
* Handle delete responses like other responses

* Render error flash if an invite can't be deleted
2016-12-29 12:04:03 -07:00
Mike Stone
fc6a7a7921 Redirect to manage hosts page after login (#715) 2016-12-29 13:14:26 -05:00
Mike Stone
a6d6b20484 Use org logo url (#686)
* Sets config's org logo url in site nav header

* Site nav header cleanup

* Use default image for org logo
2016-12-29 09:40:08 -05:00
Mike Stone
7fa60d0724 Change Button component to take children instead of text prop (#710) 2016-12-28 10:24:52 -05:00
Kyle Knight
6f90e51bc7 Style App settings form (#701) 2016-12-27 10:32:30 -05:00
Mike Stone
ee6832c743 App settings page (#615)
* AppSettingsPage at /admin/settings

* Adds App Settings to site nav items

* SMTP not configured warning

* Creates AppConfigForm

* Avatar preview

* API client to update app config

* Creates OrgLogoIcon component

* Hide username/password when no auth type
2016-12-23 13:40:16 -05:00
Kyle Knight
5ec95a5a3b Integrating PlatformIcon component (#687) 2016-12-22 13:35:24 -06:00
Kyle Knight
8f07fe2ed2 Fixing bug in Query Table sidebar dropdown (#691) 2016-12-22 13:26:18 -06:00
Kyle Knight
8baffbc97e Refactor A Few Rendering Issues (#656) 2016-12-21 12:39:40 -06:00
Kyle Knight
0bc73b421f User Settings Styles (#655) 2016-12-21 12:22:18 -06:00
Mike Stone
f099b2ae22 Create packs (#516)
* Creates new PackComposerPage at /packs/new

* Creates PackForm component

* Adds PackForm to PackComposerPage

* Creates QueriesListItem

* Creates QueriesList

* Creates QueriesListWrapper

* Get all queries when the Packs Composer Page loads

* Form HOC handles updates to formData prop

* Creates form to configure scheduled queries

* QueriesListWrapper renders ConfigurePackQueryForm

* search queries input filters queries list

* Empty state text

* create pack when user submits the new pack form

* Adds Edit pack page to /packs/:pack_id/edit

* API client - get scheduled queries for a pack

* API client - create scheduled query

* Redux config for scheduled queries

* Remove scheduled queries from packs

* Add labels to pack on create

* Add disabled state to the select targets dropdown

* Adds edit route and pushes to new route on edit click

* Adds cancel button to edit pack form

* Adds Checkbox that selects all scheduled queries in table
2016-12-21 12:25:54 -05:00
Mike Stone
8567cc458c Run query (#549)
* Adds campaigns to redux state

* Update campaign with web socket data

* Destroy the current campaign when creating a new one

* close the socket when leaving the page or creating a new campaign

* Allow stopping a running query

* Update campaign with query results

* Adds QueryResultsTable

* Display flash message if campaign can't be created

* Allow filtering query results

* Adds filter icon

* Prevent query text updates when the query is running
2016-12-21 12:07:13 -05:00
Mike Stone
608cca4910 Removes unused sidebar code (#660) 2016-12-20 09:13:50 -05:00
Kyle Knight
021e42290b New Query Sidebar Styles (#621) 2016-12-16 10:07:35 -06:00
Kyle Knight
8ad731e8fb Refactor form fields (#636) 2016-12-16 09:54:49 -06:00
Kyle Knight
37613bbb47 Admin User Management Repositioning and Cleanup (#614) 2016-12-15 09:45:20 -06:00
Mike Stone
1fc7be0715 Sets user's gravatar URL in the API client (#629) 2016-12-15 10:00:44 -05:00
Kyle Knight
0b70f58614 Styling Manage Hosts [Grid View] (#602) 2016-12-15 08:44:45 -06:00
Mike Arpaia
bed279b919 Remove "selected" keyword from response (#635) 2016-12-13 15:59:59 -08:00
Mike Stone
e1de01a2f8 Add skeleton for User settings page (#627) 2016-12-13 10:24:58 -05:00
Mike Stone
0753510cc3 Makes items routable on the Manage Hosts Sidebar (#592)
* Makes items routable on the Manage Hosts Sidebar

* slugify active label
2016-12-12 11:48:50 -05:00
Kyle Knight
3aad263e6d Fix Firefox flexbox on all hosts page (#607) 2016-12-09 17:31:54 -05:00
Kyle Knight
d9754bde20 Cleanup add host page (#546) 2016-12-09 17:30:32 -05:00
Kyle Knight
f1bb8ebfa2 Updating Gradient Button styles (#606) 2016-12-09 12:36:17 -06:00
Kyle Knight
d2c020e8c4 Cleanup styles for fields with icons (#605) 2016-12-09 11:14:16 -05:00
Mike Stone
dd676bc3b4 Changes default avatar image (#596) 2016-12-09 09:42:22 -05:00
Kyle Knight
bbad316bae Theming AceEditor (#591) 2016-12-08 10:08:21 -06:00
Kyle Knight
6f75bf5393 Removing the eslint disable line (#577) 2016-12-07 14:19:13 -06:00
Kyle Knight
21ec1ed1b1 Resolve lots of absolute and fixed positioning issues (#571) 2016-12-06 11:55:48 -05:00
Mike Stone
854bc5bd1c Moves "All Hosts" label to it's own section in the dropdown (#573) 2016-12-05 17:48:46 -05:00
Mike Stone
6826bd5b6a Nav bar fixes (#569)
* Main nav item click brings user to default sub nav item

* Converts SiteNavHeader to a dumb component

* Stop passing dispatch to the FlashMessage component
2016-12-05 12:55:30 -05:00
Mike Stone
b48c435206 Allow user to navigate through completed form pages (#567) 2016-12-05 10:21:17 -05:00
Mike Stone
a896b1fd99 Manage hosts fixes (#566)
* Add New Label link adds to browser history

* Updates title of New Label page
2016-12-05 10:21:03 -05:00
Kyle Knight
449c1e904c 4px (#558) 2016-12-01 18:19:02 -08:00
Kyle Knight
4c742886c9 Update style and html on nav (#539) 2016-12-01 17:14:39 -05:00
Kyle Knight
9e6a8eae56 Styling User Registration (#529) 2016-12-01 13:57:19 -05:00
Mike Stone
5adc5f4c7a Adds progress bar component (#548)
* Adds progress bar component
2016-12-01 09:50:44 -05:00
Kyle Knight
6a1a9c6ce9 Finish styling on Manage Hosts sidebar (#532) 2016-11-29 17:29:14 -05:00
Kyle Knight
9a769d67a4 Remove ShadowBox & ShadowBoxInput (#537) 2016-11-28 15:35:43 -06:00
Kyle Knight
7acec77303 Render Icons with component (#533) 2016-11-28 13:20:15 -06:00
Kyle Knight
46dee08ab3 Query Select Target Dropdown (#499) 2016-11-23 15:10:32 -06:00
Mike Arpaia
685e3da5e7 Fix misplaced closing brace 2016-11-23 13:04:44 -08:00
Mike Arpaia
f6e5084d0d Adding admin items to sidebar (#522) 2016-11-21 12:37:54 -08:00
Mike Stone
5dd0b1cf64 User registration submit (#490)
* Renames kolide_web_address to kolide_server_url

* API client for new user setup

* handle api response

* Do not allow logged in users to register
2016-11-21 15:22:14 -05:00
Mike Stone
04bcf16910 Logout link on user menu logs the user out (#514) 2016-11-21 12:13:02 -08:00
Mike Arpaia
a8a7be7f20 Packs pages (#426)
* initial scaffolding

* pack info sidebar

* fixing the merge of the routes

* Remove radium from pack info sidepanel

* lint

* cards!

* redux entity config

* pack interface

* wiring up redux with fake dev data

* Add description attribute to packs

* move redux to top level page component to isolate data fetching

* initial scaffolding of all packs table

* adding redux entities back

* minimal

* alpha order in packs.js

* no newlines in HTML

* onclick handler to function on component class

* alpha order in router

* alpha order in paths.js

* no newline in side panel

* removing input field

* lint fixes
2016-11-21 11:49:36 -08:00
Mike Stone
57d959b5ea Display hosts as table (#509)
* Display hosts as table

* adds Rocker button to ManageHostsPage

* Defaults to grid selected
2016-11-21 11:26:58 -05:00
Mike Stone
3f3a42bdf0 Form updates (#496)
* Updates EditUserForm

* Refactor ForgotPasswordForm

* Refactors LoginForm

* Refactors ResetPasswordForm
2016-11-21 10:43:08 -05:00
Mike Stone
8bb2a39d86 Improves re-usability of the SelectTargetsDropdown (#518)
* Improves re-usability of the SelectTargetsDropdown
2016-11-21 10:38:23 -05:00
Zachary Wasserman
6133a61fd1 Fix flatMap logic in target selection request (#512)
The previous logic was causing nulls to be sent as IDs in the request arrays.
2016-11-18 09:20:21 -08:00
Kyle Knight
d6c653b8ea Adding in new Rocker Switch (#498) 2016-11-18 09:41:52 -06:00
Mike Stone
b0e923ccc3 Configures redux devtools (#507) 2016-11-18 09:04:17 -05:00
Kyle Knight
cb6c840776 Removing hardcoded icons and replacing with icon font (#506) 2016-11-17 12:16:09 -06:00
Mike Stone
bb62993ea5 Hosts side panel (#472)
* Host side panel

* Query form handles labels

* QueryComposer handles labels

* ManageHostsPage add label transitions

* Stop preventing default on click outside of ellipsis menu

* get labels from API

* use real label data in hosts side panel

* create label on label form submit

* adds platform dropdown

* Validate query text

* Label header

* validate presence of query text
2016-11-17 12:12:41 -05:00
Mike Stone
c1866c48c4 User registration (#453)
* RegistrationPage with Breadcrumbs

* Registration Form

* client-side validations

* Form page headers and description

* Form HOC
2016-11-16 11:58:25 -05:00
Kyle Knight
29ef9e3ce8 Rearranging Files & Killing Off colors.js (#482) 2016-11-15 12:52:17 -06:00
Kyle Knight
0746e15cad User Menu (#478) 2016-11-15 11:17:33 -06:00
Mike Stone
b0e856c369 Update target select (#464)
* Stop sending click event to click handler prop

* Delineates between hosts & labels in dropdown options

* Render target details when a moreInfoTarget is present

* Remove moreInfoTarget when the select is closed

* Remove modal

* refactor formatting targets API response

* Adds + icon to dropdown options

* Restructures dropdown rendering
2016-11-14 12:32:13 -05:00
Kyle Knight
8296e46ef4 Updating icons to Fort Awesome (#474) 2016-11-14 09:29:44 -06:00
Kyle Knight
feb9f38a6d Realigning avatar on User Management Page (#475) 2016-11-14 09:28:15 -06:00
Kyle Knight
cd2981e76b Updating styles on Admin User Management (#463) 2016-11-11 08:42:23 -06:00
Mike Stone
2b24dcc731 get users if the only user in state is the current user (#470) 2016-11-10 15:29:50 -05:00
Kyle Knight
ea6ca72f43 Removing icons from Dropdown (#469) 2016-11-10 13:37:16 -06:00
Kyle Knight
67024ceace Update styles on Dropdown component (#462) 2016-11-10 10:33:04 -06:00
Mike Stone
37df94f7fa Convert to ts (#386)
Converts email validator and  Avatar component to typescript
2016-11-09 17:54:34 -05:00
Mike Stone
995d86e902 Get targets from API (#459)
* API client getTargets

* change label to display_text

* filters options

* send selected targets to server

* get targets when selected targets are added or removed

* show 0 unique hosts when no targets have been selected
2016-11-09 13:08:00 -05:00
Mike Stone
1469a7a37e formData mimics query attribute names (#461)
This fixes a bug that allowed users to submit the form to update a
query when no changes were made
2016-11-09 11:44:58 -05:00
Kyle Knight
74240f647b Updating Button Styles (#454) 2016-11-09 09:38:21 -06:00
Kyle Knight
b4572b7327 Converting use of native select elements to react-select library (#440) 2016-11-09 08:26:15 -06:00
Kyle Knight
ecf9eddbca Styling New Query page forms (#451) 2016-11-09 08:00:40 -06:00
Kyle Knight
00d479a3b6 Updating login form to fix password letter spacing (#452) 2016-11-08 08:36:05 -06:00
Mike Stone
63e84715c7 Update query (#446)
* Api client update query

* Update query when user clicks "Save Changes"

* Update query text
2016-11-08 09:23:25 -05:00
Kyle Knight
cd68b27715 Renaming button classes to be modifiers instead of elements (#449) 2016-11-08 08:20:35 -06:00
Mike Stone
01e7ac2b6c Create query (#382)
* API call to create queries

* Add queries to redux

* create query when query form is submitted

* Redirect to ShowQueryPage after creating query

* Removes theme dropdown and NewQuery component header

* Extract NewQueryPage component state to redux state

* Pass logic down to NewQuery component as props

* Changes NewQuery component name to QueryComposer

* Render NewQueryPage for /queries/:id route

* Update ReduxConfig for loading a single resource

* QueryPage tests

* Get query when the query page loads

* catch errors when query is invalid

* Renames UpdateQueryForm to QueryForm to re-usability

* Changes InputField to a controlled component

* Always render the Query Form on Query Pages
2016-11-07 11:42:39 -05:00
Kyle Knight
9be166b834 Rename Elipsis to Ellipsis (#431) 2016-11-04 12:06:11 -05:00
Mike Arpaia
a2504a3364 Removing alerts from sidebar (#427) 2016-11-03 17:23:09 -04:00
Kyle Knight
ca33d238d8 Converting JS/Radium styles to SCSS (#360) 2016-11-03 14:40:54 -05:00
Mike Stone
9c476a39ff Stop trying to get the users config when there is no user (#411) 2016-11-02 21:32:05 -04:00
Mike Stone
94106f87e4 Resolve import paths from the frontend directory (#396) 2016-11-02 11:54:43 -04:00
Mike Arpaia
7ebebbb7b1 Target search endpoint (#339) 2016-11-02 10:59:53 -04:00
Mike Stone
cd7f925fdb Typescript (#355) 2016-10-31 17:02:06 -04:00
Mike Stone
64d1924af4 Save query form (#353)
* Removes SaveQuerySection

* Updates to NewQuery & SaveQueryForm

* SaveQueryFormModal

* Load the SaveQueryFormModal on "Save Query" click

* Run query button

* hide modal form after submit

* Disable run query btn without selected targets
2016-10-31 14:08:54 -04:00
Kyle Knight
4c6c0a2b05 Adding scss-lint and cleaning up styles (#354) 2016-10-28 16:25:57 -05:00
Kyle Knight
faf58c9019 Login/Logout Restyling & Code Cleanup (#338) 2016-10-28 10:01:08 -05:00
Mike Stone
e2a5502e21 Select targets (#340)
* Api client get targets

* Allow entities to parse full api response

* responsive nav style fixes

* Add disabled prop to button

* Add targets from API to target select input

* customize target rendering in input field

* call API on select target input change

* display # hosts selected

* Adds new icons to icon font

* Customize select targets input options

* Update directory structure

* restructure select targets input

* Adds hosts to labels

* Host modal styles

* ShadowBoxInput component

* TargetInfoModal for labels

* consistent entity response in api client stubs

* Fix bug removing multiple hosts in target select input

* change Button component to use css classes
2016-10-27 12:14:30 -04:00
Mike Stone
ee3d96eb53 Update eslint (#337)
* Updates eslint packages

* Expected parentheses around arrow function argument having a body with curly braces

* Prop type `object` is forbidden

* Visible, non-interactive elements should not have mouse or keyboard event listeners

* Prop type is defined but not used

* Unexpected use of file extension "jsx"

* Expected 'this' to be used by class method

* HTML entities must be escaped

* Prevent default behavior on more options button click
2016-10-21 19:13:41 -04:00
Mike Stone
aa275751b2 Client side query validation (#335)
* validate query text

* Update structure of submitted SaveQueryForm data

* form calls correct prop function when invalid query text

* Lowercase directory names
2016-10-21 17:58:13 -04:00
Kyle Knight
b0da10cd4d Allow SCSS to import globs (#332) 2016-10-21 11:57:33 -04:00
Zachary Wasserman
d2e31146c6 Fix bugs with password resets (#330)
- Permissions error with admin forced password reset
- Redirecting on successful admin forced password reset
- URL fix for forgot password reset
- Use JWT key for password reset request
2016-10-20 15:09:51 -04:00
Mike Stone
a81f08b07b Sidepanel refactor (#329)
* Moves side panels into the side_panel directory

* Adds SecondarySidePanelContainer component

* Renames MainSidePanel to SiteNavSidePanel
2016-10-20 08:43:25 -04:00
Mike Arpaia
c07702330d Cleaning JavaScript imports and if statements (#327)
* Moving entityGetter to utility folder

* Import whitespace and if statement braces

* newlines between multi-line if's
2016-10-19 16:22:18 -04:00
Mike Stone
1acd011ca9 Show hosts page (#311)
* Adds manage hosts page and improves side bar functionality

* API client get hosts

* Adds hosts to redux state

* Adds host details component

* Manage hosts page renders host details

* ElipsisMenu component

* Add ElipsisMenu to HostDetails

* Adds HOC to detect clicks outside component

* clicks outside ElipsisMenu close the tooltip

* Adds icons to host details component
2016-10-17 14:55:03 -04:00
Jason Meller
e38dd40699 Update kolidecons to the latest version (#321) 2016-10-17 12:06:32 -04:00
Mike Stone
b57514e9d2 Redirect users to correct location after login (#316) 2016-10-17 09:27:22 -04:00
Mike Stone
beda051de2 Show invited users (#297)
* Adds loadAll action to redux entity config

* API Client get invites

* Add invites to the user management page

* Updates user block styles on user management page

* Submit modal form on enter

* Modify details form styles

* Enter submits edit user form

* Removes unused admin dashboard page

* API Client - revoke invites

* Delete invite entities in redux

* Revoke invites from admin manage users page

* Show success flash message after user invite is revoked
2016-10-14 17:08:57 -04:00
Mike Stone
86d2319170 Bug - authenticate on refresh (#295)
* Saves user in state on login success

* stop storing user token in state
2016-10-11 14:50:18 -04:00
Zachary Wasserman
5d0cac882a Move API responses under top-level keys (#292) 2016-10-11 09:22:11 -07:00
Mike Stone
58c3733524 Add hosts (#294)
* New hosts route

* Adds source code pro font

* New Host Page

* make Icons clickable

* Adds clipboard icon

* highlight icon & show helper text when text copied

* Method 2 text

* Fixes Firefox bug

* Fix spelling error
2016-10-11 12:10:41 -04:00
Mike Stone
2c17e641cb Invite new users (#290)
* API client - invite users

* configure invites as a redux entity

* Invite user form submits invite from user management page
2016-10-11 11:34:52 -04:00
Mike Stone
23ffa5be62 Query side panel (#269)
* QuerySidePanel component

* Adds all osquery table names to ace editor mode

* kolide theme for strings

* Detect OS from browser

* Show utility and specs availability as 'All Platforms'

* Show column description as alt text
2016-10-11 11:32:39 -04:00
Mike Stone
db57aaa1fc Filter unchanged attributes when updating user (#293)
* Only send changed user attributes to the server

* Improve flash message styles

* Do not allow admins to demote or disable their own account

* Disable admin actions against self
2016-10-07 13:07:02 -04:00
Mike Stone
23bed0c56d App config (#281)
* Adds call to API client to get config

* Saves config in redux state
2016-10-05 19:43:37 -04:00
Mike Stone
06047efac4 Do not send request body for GET requests (#279) 2016-10-05 10:03:55 -04:00
Mike Stone
10dd855a77 styles the dropdown component (#271)
* styles the dropdown component

* Updates Dropdown component to behave like other form fields
2016-10-04 18:24:39 -04:00
Mike Stone
facee9bd89 Target input select (#272)
* Adds react-select package

* Implement react-select for selecting query targets

* log all form data when a query is run
2016-10-04 18:11:52 -04:00
Mike Stone
07400e7d4c bug-fix/reset password page (#275) 2016-10-04 18:11:35 -04:00
Mike Stone
a47ee32e9f Stop showing unauthenticated error for new session on login page (#273) 2016-10-04 16:51:30 -04:00
Mike Arpaia
352c3cf004 Moving footer to it's own component (#268) 2016-10-03 15:51:44 -04:00
Mike Arpaia
9312247661 Removing environment specific config (#266) 2016-10-03 15:50:28 -04:00
Mike Arpaia
a0a911d9b2 Moving stylesheets to styles directory (#267)
close #265
2016-10-03 15:49:32 -04:00
Mike Stone
6ebc460b66 Admin user management (#233)
Admin user management page
2016-10-03 13:54:22 -04:00
Mike Stone
32f291a064 New query page (#254)
* Sidebar/Layout improvements

* New Query route and page

* Display text editor

* Gradient style longhand

* Slider button component

* Move new query section to component

* Kolide Ace theme

* Styles slider on page

* run query on CMD + Enter

* clicking hosts sends user to homepage

* SaveQueryForm component

* Splits NewQuery component JSX into multiple dumb components

* InputField component

* save query form

* new query

* styleguide

* moves all new query form logic to the new query form

* Kolide theme for osquery tables
2016-09-30 14:55:15 -04:00
Victor Vrantchan
57c9cb145f send cookies in request (#256) 2016-09-30 09:21:51 -04:00
Mike Stone
738d7253c2 Login form displays error message (#243)
* Login form displays error message

* default bad auth to a generic error for the client
2016-09-28 20:46:45 -04:00
Jason Meller
1409c294af Add awesome card stacking animations on login (#246)
* Add awesome card stacking animations on login

* Fix linter error

* Fix proptypes warning and clean up if/then logic

* True up vh units

* Make logout pixel perfect with login form
2016-09-28 03:16:09 -07:00
Mike Stone
f8337eeaac Only shows bg image for login/logout routes (#234) 2016-09-23 17:20:02 -04:00
Jason Meller
55307de42d SCSS Pipeline and style fixes (#229)
* Add SCSS pipeline and fix login style issues

* Fix nav styles and make tests pass

* Fix nav header styles and animations

* Change font-size to 13px on nav

* Fix duplicate specificity of styles
2016-09-23 14:04:01 -04:00
Mike Stone
c4924be4d4 Responsive nav (#225)
* Allow specifying debounce options

* responsive nav styles

* animate sub items in skinny nav
2016-09-22 09:20:13 -04:00
Jason Meller
665aac54cb Various css tweaks (#224)
* Ensure login background remains centered

* Update Kolidecons to the latest version
2016-09-21 12:48:07 -04:00
Mike Stone
bba69412b9 Side panel (#216)
* admin layout component

* Admin Dashboard page

* styleguide

* AdminSidePanel component

* Use Kolide logo

* Renames AdminSidePanel to SidePanel

* Avatar component to render user's gravatar image

* Adds CoreLayout with rendered SidePanel
2016-09-20 20:07:32 -07:00
Mike Stone
eb13b33b4d Use the window location origin as the API origin (#217) 2016-09-20 15:36:36 -07:00
Jason Meller
7a30db5772 Add custom icon font for front-end use (#212) 2016-09-20 15:23:24 -04:00
Mike Stone
2f5ee8607d Authenticated routes (#207)
* Redirects authenticated routes to /login when user not authenticated or loading

* Redirect to login when call to get user fails
2016-09-20 11:17:31 -07:00
Mike Stone
5f1fc8123f Button style changes (#188)
* GradientButton style improvements

* SVG variant cleanup

* client side validations
2016-09-20 10:43:46 -07:00
Mike Stone
8878acd848 Moves static images to the assets directory (#205) 2016-09-20 10:40:13 -07:00
Mike Arpaia
225afb750f Clean and organize mocha test configurations (#202) 2016-09-20 09:42:46 -04:00
Mike Arpaia
4b425eb524 ESLint fixes and cleaning (#203) 2016-09-20 09:42:08 -04:00
Mike Stone
dd1565936b Logout (#195)
* moves login page styles to reusable component

* Redirects successful login to homepage after 3s

* Adds logout form

* Adds logout page

* Adds logout link to homepage

* Adds gravatarURL to logged in user

* Configure API Client to hit /me endpoint

* Fetch user when the app loads

* Configured API Client to make logout requests

* Handle logout flow in redux

* Logout form styles

* Logout user when the logout form is submitted
2016-09-19 16:43:35 -07:00
Mike Stone
6581b10b89 Debounce utility to only allow 1 click per second (#190) 2016-09-19 11:41:47 -07:00
Mike Stone
09178a9ee8 Autofocus first field on forms (#191) 2016-09-19 14:33:43 -04:00
Mike Stone
0e08a6e698 Reset password page submit (#184)
* API client sends reset password requests

* ResetPasswordPage actions and reducer

* Reset password happy path
2016-09-19 11:35:38 -04:00
Mike Stone
482d025d05 Reset password page (#181)
* Extracts stacked boxes UI to a re-usable component

* Presence validator

* Equality validator

* Adds ResetPasswordFrom

* PasswordResetPage component and route

* Ex icon on forgot pw page goes to login

* Smooth out the fonts so they match the mocks

* Remove dynamic background and refactor colors
2016-09-16 17:19:37 -04:00
Mike Stone
cfdd665673 Fixes multiple logos on login successful page (#173) 2016-09-16 10:32:54 -07:00
Mike Stone
5ea9115a95 Forgot password submit (#168)
* Authentication middleware

* API client refactor

* Configure API client to make forgot_password requests

* Successfully submit forgot password form

* Display server errors for unknown email address
2016-09-16 09:55:46 -04:00
Mike Stone
40af0d29ef Forgot password (#162)
* GradientButton components

* Style guide updates

* Display errors and override styles for InputFieldWithIcon

* Envelope Icon

* Login page form submission (#157)

* API client utility

* moves test helpers to the test directory

* Utility to namespace local storage keys

* LoginSuccessfulPage component

* Check icon

* adds auth to redux state

* successful form submission

* Allow tests to load dummy SVG static images & test fixes

* ForgotPassword Page, Form & route

* Email validator
2016-09-14 16:31:54 -04:00
Mike Stone
b638ae186d Login page form submission (#157)
* API client utility

* moves test helpers to the test directory

* Utility to namespace local storage keys

* LoginSuccessfulPage component

* Check icon

* adds auth to redux state

* successful form submission

* Allow tests to load dummy SVG static images & test fixes
2016-09-13 22:43:26 -07:00
Mike Stone
ac9a38c207 Login page scaffolding (#142)
* LoginPage component and route

* animated SVG background image utility

* Kolide text, User, Lock, & Kolide logo SVG icons

* styleguide

* Adds global footer

* Adds InputFieldWithIcon component

* Adds LoginForm component

* Render LoginForm from the LoginPage
2016-09-12 11:14:07 -04:00
Mike Stone
a0a035f2c4 Icon component setup & bg image (#133) 2016-09-08 08:50:44 -04:00
Mike Stone
906bf79526 Changes CSS styles to JS using Radium (#129) 2016-09-07 16:07:45 -04:00
Mike Stone
47e28d29aa Redux configuration (#122) 2016-09-06 20:04:02 -04:00
Mike Arpaia
47aa83a911 Move test setup out of root (#124) 2016-09-06 17:13:03 -04:00
Mike Stone
a90645a95f Testing/linting setup (#120) 2016-09-06 14:41:16 -04:00
Mike Arpaia
736bce5033 Email-based password reset (#54)
* No more hard deletes

* scaffolding for password reset endpoint

* Ensure password reset state is accounted for in VC checks

* password reset endpoints and data structures

* ability to change password with reset token

* smtp server connection pool management

* stubbing out the sending of the email

* adding mailhog via docker

* HTML emails with confgurable host name

* fixing typo in the comments

* Fixing merge which undid DatabaseError replacement

* documentation in the readme

* webpack shortcut for components

* removing a sneaky merge line that snuck in

* temporary email content api

* tests for password reset flow

* fixing go vet

* comments and making all db use `&value` rather than `reference`

* more correct usage of the errors library and moving email sending to it's own method

* using the wrong error

* fixing email mock object error

* less incorrect error usage

* rebasing and merging

* http constants for status code

* using ParseAndValidateJSON instead of BindJSON

* validate instead of binding in struct tags

* NewFromError instead of New
2016-08-12 12:20:29 -07:00
Mike Arpaia
3a9381c5b3 React Base (#61)
* Add sensible React base to the app for frontend

This PR attempts to "reactify" Kolide and provide a sane development environment
that a front-end engineer would probably expect.

This PR accomplishes by doing the following:

1. Reorganizes the app into a `server/` and `client/` folders to keep golang
logic separated from react logic.

2. Adds an "asset pipeline" via webpack which knows how to build a js
and css bundle.

3. Packages up all static assets in a go-bindata file so that the binary
remains portable without external file dependencies.

1. Add a Makefile with several targets that will be common in everyday
development. For example, we have `serve` target which spins up a nodejs
reverse proxy on port 8081 which then watches for changed files, automatically
rebuilds the app, and hot loads the new JS/CSS in.

 **Note:** Please use `make` to build the app, not `go build` as there are
now several things that need to be orchestrated beyond the go code to build the app.

* Create build if it doesn't exist, and use `go get`

* Improve README to reflect new dev workflow

* Document css vars and funcs and use alias paths

* makefile and structure modifications
2016-08-09 22:15:44 -07:00