Skip to content

Commit 332ca8c

Browse files
authored
Merge pull request #3 from sauntimo/auth-upload-on-conflict-do-nothing
Auth user upload: Ignore pre-existing records
2 parents 56fd956 + 8f37495 commit 332ca8c

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

auth/import_users.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,11 @@ function main(filename) {
9393
case 1:
9494
client = _a.sent();
9595
client.connect();
96-
console.log("loading users from " + filename);
96+
console.log("loading users from ".concat(filename));
9797
return [4 /*yield*/, loadUsers(filename)];
9898
case 2:
9999
_a.sent();
100-
console.log("done processing " + filename);
100+
console.log("done processing ".concat(filename));
101101
quit();
102102
return [2 /*return*/];
103103
}
@@ -221,7 +221,7 @@ function insertUsers(rows) {
221221
return __generator(this, function (_a) {
222222
switch (_a.label) {
223223
case 0:
224-
sql = createUserHeader() + rows.join(',\n');
224+
sql = createUserHeader() + rows.join(',\n') + 'ON CONFLICT DO NOTHING;';
225225
return [4 /*yield*/, runSQL(sql)];
226226
case 1:
227227
result = _a.sent();
@@ -297,7 +297,7 @@ function createUserHeader() {
297297
return "INSERT INTO auth.users (\n instance_id,\n id,\n aud,\n role,\n email,\n encrypted_password,\n email_confirmed_at,\n invited_at,\n confirmation_token,\n confirmation_sent_at,\n recovery_token,\n recovery_sent_at,\n email_change_token_new,\n email_change,\n email_change_sent_at,\n last_sign_in_at,\n raw_app_meta_data,\n raw_user_meta_data,\n is_super_admin,\n created_at,\n updated_at,\n phone,\n phone_confirmed_at,\n phone_change,\n phone_change_token,\n phone_change_sent_at,\n email_change_token_current,\n email_change_confirm_status \n ) VALUES ";
298298
}
299299
function createUser(user) {
300-
var sql = "(\n '00000000-0000-0000-0000-000000000000', /* instance_id */\n uuid_generate_v4(), /* id */\n 'authenticated', /* aud character varying(255),*/\n 'authenticated', /* role character varying(255),*/\n '" + user.email + "', /* email character varying(255),*/\n '', /* encrypted_password character varying(255),*/\n " + (user.emailVerified ? 'NOW()' : 'null') + ", /* email_confirmed_at timestamp with time zone,*/\n '" + formatDate(user.metadata.creationTime) + "', /* invited_at timestamp with time zone, */\n '', /* confirmation_token character varying(255), */\n null, /* confirmation_sent_at timestamp with time zone, */\n '', /* recovery_token character varying(255), */\n null, /* recovery_sent_at timestamp with time zone, */\n '', /* email_change_token_new character varying(255), */\n '', /* email_change character varying(255), */\n null, /* email_change_sent_at timestamp with time zone, */\n null, /* last_sign_in_at timestamp with time zone, */\n '" + getProviderString(user.providerData) + "', /* raw_app_meta_data jsonb,*/\n '{\"fbuser\":" + JSON.stringify(user) + "}', /* raw_user_meta_data jsonb,*/\n false, /* is_super_admin boolean, */\n NOW(), /* created_at timestamp with time zone, */\n NOW(), /* updated_at timestamp with time zone, */\n null, /* phone character varying(15) DEFAULT NULL::character varying, */\n null, /* phone_confirmed_at timestamp with time zone, */\n '', /* phone_change character varying(15) DEFAULT ''::character varying, */\n '', /* phone_change_token character varying(255) DEFAULT ''::character varying, */\n null, /* phone_change_sent_at timestamp with time zone, */\n '', /* email_change_token_current character varying(255) DEFAULT ''::character varying, */\n 0 /*email_change_confirm_status smallint DEFAULT 0 */ \n )";
300+
var sql = "(\n '00000000-0000-0000-0000-000000000000', /* instance_id */\n uuid_generate_v4(), /* id */\n 'authenticated', /* aud character varying(255),*/\n 'authenticated', /* role character varying(255),*/\n '".concat(user.email, "', /* email character varying(255),*/\n '', /* encrypted_password character varying(255),*/\n ").concat(user.emailVerified ? 'NOW()' : 'null', ", /* email_confirmed_at timestamp with time zone,*/\n '").concat(formatDate(user.metadata.creationTime), "', /* invited_at timestamp with time zone, */\n '', /* confirmation_token character varying(255), */\n null, /* confirmation_sent_at timestamp with time zone, */\n '', /* recovery_token character varying(255), */\n null, /* recovery_sent_at timestamp with time zone, */\n '', /* email_change_token_new character varying(255), */\n '', /* email_change character varying(255), */\n null, /* email_change_sent_at timestamp with time zone, */\n null, /* last_sign_in_at timestamp with time zone, */\n '").concat(getProviderString(user.providerData), "', /* raw_app_meta_data jsonb,*/\n '{\"fbuser\":").concat(JSON.stringify(user), "}', /* raw_user_meta_data jsonb,*/\n false, /* is_super_admin boolean, */\n NOW(), /* created_at timestamp with time zone, */\n NOW(), /* updated_at timestamp with time zone, */\n null, /* phone character varying(15) DEFAULT NULL::character varying, */\n null, /* phone_confirmed_at timestamp with time zone, */\n '', /* phone_change character varying(15) DEFAULT ''::character varying, */\n '', /* phone_change_token character varying(255) DEFAULT ''::character varying, */\n null, /* phone_change_sent_at timestamp with time zone, */\n '', /* email_change_token_current character varying(255) DEFAULT ''::character varying, */\n 0 /*email_change_confirm_status smallint DEFAULT 0 */ \n )");
301301
return sql;
302302
}
303303
function getProviderString(providerData) {
@@ -318,7 +318,7 @@ function getProviderString(providerData) {
318318
}
319319
providers.push(provider);
320320
}
321-
var providerString = "{\"provider\": \"" + providers[0] + "\",\"providers\":[\"" + providers.join('","') + "\"]}";
321+
var providerString = "{\"provider\": \"".concat(providers[0], "\",\"providers\":[\"").concat(providers.join('","'), "\"]}");
322322
return providerString;
323323
}
324324
/*

auth/import_users.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ async function loadUsers_old(filename: string): Promise<any> {
148148
}
149149

150150
async function insertUsers(rows: any[]): Promise<any> {
151-
const sql = createUserHeader() + rows.join(',\n');
151+
const sql = createUserHeader() + rows.join(',\n') + 'ON CONFLICT DO NOTHING;';
152152
// console.log('sql', sql);
153153
const result = await runSQL(sql);
154154
return result;

0 commit comments

Comments
 (0)