@@ -4,7 +4,10 @@ import { Repo } from '../types';
44
55const COMPACTION_INTERVAL = 1000 * 60 * 60 * 24 ; // once per day
66
7+ // these don't get coverage in tests as they have already been run once before the test
8+ /* istanbul ignore if */
79if ( ! fs . existsSync ( './.data' ) ) fs . mkdirSync ( './.data' ) ;
10+ /* istanbul ignore if */
811if ( ! fs . existsSync ( './.data/db' ) ) fs . mkdirSync ( './.data/db' ) ;
912
1013const db = new Datastore ( { filename : './.data/db/repos.db' , autoload : true } ) ;
@@ -15,9 +18,14 @@ const isBlank = (str: string) => {
1518 return ! str || / ^ \s * $ / . test ( str ) ;
1619} ;
1720
18- export const getRepos = async ( query : any = { } ) => {
21+ export const getRepos = async ( query : any = { } ) => {
22+ if ( query ?. name ) {
23+ query . name = query . name . toLowerCase ( ) ;
24+ }
1925 return new Promise < Repo [ ] > ( ( resolve , reject ) => {
2026 db . find ( query , ( err : Error , docs : Repo [ ] ) => {
27+ // ignore for code coverage as neDB rarely returns errors even for an invalid query
28+ /* istanbul ignore if */
2129 if ( err ) {
2230 reject ( err ) ;
2331 } else {
@@ -28,9 +36,10 @@ export const getRepos = async (query: any = {}) => {
2836} ;
2937
3038export const getRepo = async ( name : string ) => {
31- name = name . toLowerCase ( ) ;
3239 return new Promise < Repo | null > ( ( resolve , reject ) => {
33- db . findOne ( { name } , ( err : Error | null , doc : Repo ) => {
40+ db . findOne ( { name : name . toLowerCase ( ) } , ( err : Error | null , doc : Repo ) => {
41+ // ignore for code coverage as neDB rarely returns errors even for an invalid query
42+ /* istanbul ignore if */
3443 if ( err ) {
3544 reject ( err ) ;
3645 } else {
@@ -42,7 +51,6 @@ export const getRepo = async (name: string) => {
4251
4352export const createRepo = async ( repo : Repo ) => {
4453 repo . name = repo . name . toLowerCase ( ) ;
45- console . log ( `creating new repo ${ JSON . stringify ( repo ) } ` ) ;
4654
4755 if ( isBlank ( repo . project ) ) {
4856 throw new Error ( 'Project name cannot be empty' ) ;
@@ -61,10 +69,11 @@ export const createRepo = async (repo: Repo) => {
6169
6270 return new Promise < Repo > ( ( resolve , reject ) => {
6371 db . insert ( repo , ( err , doc ) => {
72+ // ignore for code coverage as neDB rarely returns errors even for an invalid query
73+ /* istanbul ignore if */
6474 if ( err ) {
6575 reject ( err ) ;
6676 } else {
67- console . log ( `created new repo ${ JSON . stringify ( repo ) } ` ) ;
6877 resolve ( doc ) ;
6978 }
7079 } ) ;
@@ -89,6 +98,8 @@ export const addUserCanPush = async (name: string, user: string) => {
8998
9099 const options = { multi : false , upsert : false } ;
91100 db . update ( { name : name } , repo , options , ( err ) => {
101+ // ignore for code coverage as neDB rarely returns errors even for an invalid query
102+ /* istanbul ignore if */
92103 if ( err ) {
93104 reject ( err ) ;
94105 } else {
@@ -117,6 +128,8 @@ export const addUserCanAuthorise = async (name: string, user: string) => {
117128
118129 const options = { multi : false , upsert : false } ;
119130 db . update ( { name : name } , repo , options , ( err ) => {
131+ // ignore for code coverage as neDB rarely returns errors even for an invalid query
132+ /* istanbul ignore if */
120133 if ( err ) {
121134 reject ( err ) ;
122135 } else {
@@ -176,6 +189,8 @@ export const deleteRepo = async (name: string) => {
176189 name = name . toLowerCase ( ) ;
177190 return new Promise < void > ( ( resolve , reject ) => {
178191 db . remove ( { name : name } , ( err ) => {
192+ // ignore for code coverage as neDB rarely returns errors even for an invalid query
193+ /* istanbul ignore if */
179194 if ( err ) {
180195 reject ( err ) ;
181196 } else {
0 commit comments