Fix xxxWindowPreference management

This commit is contained in:
nymkappa
2022-01-19 13:03:43 +09:00
parent 16ab9b38a0
commit 92de2bbc03
4 changed files with 20 additions and 42 deletions

View File

@@ -2,32 +2,21 @@
The backend is static. Typescript scripts are compiled into the `dist` folder and served through a node web server.
You can avoid the manual shutdown/recompile/restart command line cycle by setting up watchers.
You can avoid the manual shutdown/recompile/restart command line cycle by using a watcher.
Make sure you are in the `backend` directory `cd backend`.
1. Install nodemon
1. Install nodemon and ts-node
```
sudo npm install -g nodemon
```
2. [Optional] Add the following configuration into `tsconfig.json`. You can find watch options here https://www.typescriptlang.org/docs/handbook/configuring-watch.html
```
"watchOptions": {
"watchFile": "useFsEvents",
"watchDirectory": "useFsEvents",
"fallbackPolling": "dynamicPriority",
"synchronousWatchDirectory": true,
"excludeDirectories": ["**/node_modules", "_build"],
"excludeFiles": ["build/fileWhichChangesOften.ts"]
}
```
3. In one terminal, watch typescript scripts
```
./node_modules/typescript/bin/tsc --watch
```
4. In another terminal, watch compiled javascript
```
nodemon --max-old-space-size=2048 dist/index.js
sudo npm install -g ts-node nodemon
```
2. Run the watcher
> Note: You can find your npm global binary folder using `npm -g bin`, where nodemon will be installed.
```
nodemon src/index.ts --ignore cache/
```
Everytime you save a backend `.ts` file, `tsc` will recompile it and genereate a new static `.js` file in the `dist` folder. `nodemon` will detect this new file and restart the node web server automatically.

View File

@@ -38,29 +38,12 @@ class BlocksRepository {
await connection.query(query, params);
} catch (e) {
console.log(e);
logger.err('$updateBlocksDatabase() error' + (e instanceof Error ? e.message : e));
}
connection.release();
}
/**
* Check if a block has already been indexed in the database. Query the databse directly.
* This can be cached/optimized if required later on to avoid too many db queries.
*/
public async $isBlockAlreadyIndexed(blockHeight: number) {
const connection = await DB.pool.getConnection();
let exists = false;
const query = `SELECT height from blocks where blocks.height = ${blockHeight}`;
const [rows]: any[] = await connection.query(query);
exists = rows.length === 1;
connection.release();
return exists;
}
/**
* Get all block height that have not been indexed between [startHeight, endHeight]
*/