()
| 156 | } |
| 157 | |
| 158 | function createWriteUsersToFile(): ( |
| 159 | userList: any[], |
| 160 | format: "csv" | "json", |
| 161 | writeStream: Writable, |
| 162 | ) => void { |
| 163 | let jsonSep = ""; |
| 164 | return (userList: any[], format: "csv" | "json", writeStream: Writable) => { |
| 165 | userList.map((user) => { |
| 166 | if (user.passwordHash && user.version !== 0) { |
| 167 | // Password isn't hashed by default Scrypt. |
| 168 | delete user.passwordHash; |
| 169 | delete user.salt; |
| 170 | } |
| 171 | if (format === "csv") { |
| 172 | writeStream.write(transUserToArray(user).join(",") + "," + os.EOL, "utf8"); |
| 173 | } else { |
| 174 | writeStream.write(jsonSep + JSON.stringify(transUserJson(user), null, 2), "utf8"); |
| 175 | jsonSep = "," + os.EOL; |
| 176 | } |
| 177 | }); |
| 178 | }; |
| 179 | } |
| 180 | |
| 181 | export async function serialExportUsers(projectId: string, options: any): Promise<any> { |
| 182 | if (!options.writeUsersToFile) { |
no test coverage detected
searching dependent graphs…