mirror of
https://github.com/empayre/fleet.git
synced 2024-11-07 09:18:59 +00:00
5d647025f9
* Step 1 for improving query experience (#1591) * fake change to create draft PR * temp routes to work and not modify old query page * created new API abstraction for query * refactored App.jsx to prepare react-query * fixed flow of redirects after page refresh; functional component added * setup for getting data on edit * implementing functions for query page * Old form showing on new setup * improving and breaking up query form * no need for the helpers anymore; clean up * added type for button component variant * step toward new save modal; have to switch gears to #1619 * creating new query works * clean up * linting cleanup * added default value for new query * will address dynamic save disabled in edit step * Step 2 for improving query experience (select targets) (#1732) * fake change to create draft PR * temp routes to work and not modify old query page * created new API abstraction for query * refactored App.jsx to prepare react-query * fixed flow of redirects after page refresh; functional component added * setup for getting data on edit * implementing functions for query page * Old form showing on new setup * improving and breaking up query form * no need for the helpers anymore; clean up * added type for button component variant * step toward new save modal; have to switch gears to #1619 * creating new query works * clean up * linting cleanup * added default value for new query * split steps into separate files for readability * components laid out * new targets picker * function clean up * styling tables * fixing logic * fixed logic to keep getting related hosts * formatting targets for API * fixed default query * clean up * styled target selectors; fixed target input styles * began total count * forgot to remove debugging code * lint fixes * added target count from API * clean up * able to remove selected host targets from table * lint fixes * Improving query experience - Step 3 (query results) (#1766) * fake change to create draft PR * temp routes to work and not modify old query page * created new API abstraction for query * refactored App.jsx to prepare react-query * fixed flow of redirects after page refresh; functional component added * setup for getting data on edit * implementing functions for query page * Old form showing on new setup * improving and breaking up query form * no need for the helpers anymore; clean up * added type for button component variant * step toward new save modal; have to switch gears to #1619 * creating new query works * clean up * linting cleanup * added default value for new query * split steps into separate files for readability * components laid out * new targets picker * function clean up * styling tables * fixing logic * fixed logic to keep getting related hosts * formatting targets for API * fixed default query * clean up * styled target selectors; fixed target input styles * began total count * forgot to remove debugging code * lint fixes * added target count from API * clean up * able to remove selected host targets from table * lint fixes * connected run query with modern React/JS; clean up * linting fixes * fixed logic to retrieve results from live query * linting fixes * created new, simpler query progress * populating results and errors tables as expected * syntax fixes * fixing styles for query results * more styling for query results * manual merge from main * Rename core->free and basic->premium * Fix lint js * Comment out portion of test that seems to timeout * Rename tier to premium if basic is still loaded * go sum * Query Experience Cleanup Tasks (#1807) * fixes to get merged main branch to build and work * moved screens for query pages; clean up * updated and typed react ace for query form; clean up * using console error instead * added real types instead of `any` except for errors * query side panel ts and functional. prep for close task. * ability to hide, show query table sidebar * improved live query status warning * added loading and error state for targets search * error screen for targets; improved loading display * now using API-created label for all linux * missed some files on previous commit * able to edit query * clean up * lint fixes * query results showing as they come * remove unused code * removed old query page. major file cleanup. * removed selectedTargets redux implementation * removed unused redux actions and reducers * removed unused keys in initial state * selectedOsqueryTable is now using context API * removed all querypages redux code * set up context for app and user * fixed auth with temp fix for wrapper * completed redux removal from query page * fixed var names coming from main branch * fixed var name changes coming from issue 1501 * fixed save popup bug; clean up * added permissions * fixed login redirect * removed unused props * linting fix * clean up * removed unused component, refactor, and clean up * fixed styles for step 1 as admin * fixed styles for step 1 as observer * fixed percentage of online hosts * added loading progress to query stop button * reset query status on run again * added download icon to export button text * fixed error reset on name input; fixed styles * fixed bug where query value wasn't saving * fixed query value when blank * fixed bug - default query was running every time * auto adding host from url to targets * fixed flows for repeating run and save steps * fleet ace is now TS and functional * fixed a couple of tests * fixed issues with query value text inconsistencies * fixed query side panel not showing * hiding error count if not > 0 * fixed showing editor for different roles * using integer for targets * go sum * fixed targets param * catching all errors while running query * fixed hover state for title and description * ignore unit test for now; lint fixes * locking react-ace version * ignoring tests breaking in github actions * brought tests back * fixing file name * fixing file name again * fixed e2e test * have to ignore tests for now * ignore certain premium tests for now * one last test to revamp * another test * fixed teamflow test * fixed observer query 403 * lint fixes * fixed maintainer test * added changes file Co-authored-by: Tomas Touceda <chiiph@gmail.com>
140 lines
3.4 KiB
TypeScript
140 lines
3.4 KiB
TypeScript
/* eslint-disable */
|
|
// @ts-nocheck
|
|
import { osqueryTableNames } from "utilities/osquery_tables";
|
|
|
|
ace.define(
|
|
"ace/mode/fleet_highlight_rules",
|
|
[
|
|
"require",
|
|
"exports",
|
|
"module",
|
|
"ace/lib/oop",
|
|
"ace/mode/sql_highlight_rules",
|
|
],
|
|
function (acequire, exports, module) {
|
|
"use strict";
|
|
|
|
var oop = acequire("../lib/oop");
|
|
var SqlHighlightRules = acequire("./sql_highlight_rules").SqlHighlightRules;
|
|
|
|
var FleetHighlightRules = function () {
|
|
var keywords =
|
|
"select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" +
|
|
"when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|" +
|
|
"foreign|not|references|default|null|inner|cross|natural|database|drop|grant";
|
|
|
|
var builtinConstants = "true|false";
|
|
|
|
var builtinFunctions =
|
|
"avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|" +
|
|
"coalesce|ifnull|isnull|nvl";
|
|
|
|
var dataTypes =
|
|
"int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|" +
|
|
"money|real|number|integer";
|
|
|
|
var osqueryTables = osqueryTableNames.join("|");
|
|
|
|
var keywordMapper = this.createKeywordMapper(
|
|
{
|
|
"osquery-token": osqueryTables,
|
|
"support.function": builtinFunctions,
|
|
keyword: keywords,
|
|
"constant.language": builtinConstants,
|
|
"storage.type": dataTypes,
|
|
},
|
|
"identifier",
|
|
true
|
|
);
|
|
|
|
this.$rules = {
|
|
start: [
|
|
{
|
|
token: "comment",
|
|
regex: "--.*$",
|
|
},
|
|
{
|
|
token: "comment",
|
|
start: "/\\*",
|
|
end: "\\*/",
|
|
},
|
|
{
|
|
token: "string", // " string
|
|
regex: '".*?"',
|
|
},
|
|
{
|
|
token: "string", // ' string
|
|
regex: "'.*?'",
|
|
},
|
|
{
|
|
token: "constant.numeric", // float
|
|
regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b",
|
|
},
|
|
{
|
|
token: keywordMapper,
|
|
regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b",
|
|
},
|
|
{
|
|
token: "keyword.operator",
|
|
regex:
|
|
"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=",
|
|
},
|
|
{
|
|
token: "paren.lparen",
|
|
regex: "[\\(]",
|
|
},
|
|
{
|
|
token: "paren.rparen",
|
|
regex: "[\\)]",
|
|
},
|
|
{
|
|
token: "text",
|
|
regex: "\\s+",
|
|
},
|
|
],
|
|
};
|
|
|
|
this.normalizeRules();
|
|
};
|
|
|
|
oop.inherits(FleetHighlightRules, SqlHighlightRules);
|
|
|
|
exports.FleetHighlightRules = FleetHighlightRules;
|
|
}
|
|
);
|
|
|
|
ace.define(
|
|
"ace/mode/fleet",
|
|
[
|
|
"require",
|
|
"exports",
|
|
"module",
|
|
"ace/lib/oop",
|
|
"ace/mode/sql",
|
|
"ace/mode/fleet_highlight_rules",
|
|
"ace/range",
|
|
],
|
|
function (acequire, exports, module) {
|
|
"use strict";
|
|
|
|
var oop = acequire("../lib/oop");
|
|
var TextMode = acequire("./sql").Mode;
|
|
var FleetHighlightRules = acequire("./fleet_highlight_rules")
|
|
.FleetHighlightRules;
|
|
var Range = acequire("../range").Range;
|
|
|
|
var Mode = function () {
|
|
this.HighlightRules = FleetHighlightRules;
|
|
};
|
|
oop.inherits(Mode, TextMode);
|
|
|
|
(function () {
|
|
this.lineCommentStart = "--";
|
|
|
|
this.$id = "ace/mode/fleet";
|
|
}.call(Mode.prototype));
|
|
|
|
exports.Mode = Mode;
|
|
}
|
|
);
|