u
This commit is contained in:
@@ -97,6 +97,8 @@ const MENU = {
|
|||||||
label: 'google_auth',
|
label: 'google_auth',
|
||||||
items: [
|
items: [
|
||||||
{ value: 'google_auth.add', label: 'add', hint: 'email → authId' },
|
{ value: 'google_auth.add', label: 'add', hint: 'email → authId' },
|
||||||
|
{ value: 'google_auth.getById', label: 'getById', hint: 'id → row' },
|
||||||
|
{ value: 'google_auth.getByEmail', label: 'getByEmail', hint: 'email → row' },
|
||||||
{ value: 'google_auth.list', label: 'list', hint: '→ rows' },
|
{ value: 'google_auth.list', label: 'list', hint: '→ rows' },
|
||||||
{ value: 'google_auth.del', label: 'del', hint: 'id' },
|
{ value: 'google_auth.del', label: 'del', hint: 'id' },
|
||||||
],
|
],
|
||||||
@@ -311,6 +313,19 @@ async function runMethod(client, action) {
|
|||||||
if (email == null) return;
|
if (email == null) return;
|
||||||
return ['authId', await client.google_auth.add(email)];
|
return ['authId', await client.google_auth.add(email)];
|
||||||
}
|
}
|
||||||
|
case 'google_auth.getById': {
|
||||||
|
const id = await askInt('Auth id');
|
||||||
|
if (id == null) return;
|
||||||
|
return ['row', await client.google_auth.getById(Number(id))];
|
||||||
|
}
|
||||||
|
case 'google_auth.getByEmail': {
|
||||||
|
const email = await askText('Email', {
|
||||||
|
placeholder: 'user@example.com',
|
||||||
|
validate: (v) => (!v?.trim() ? 'Required' : undefined),
|
||||||
|
});
|
||||||
|
if (email == null) return;
|
||||||
|
return ['row', await client.google_auth.getByEmail(email)];
|
||||||
|
}
|
||||||
case 'google_auth.list': {
|
case 'google_auth.list': {
|
||||||
return ['rows', await client.google_auth.list()];
|
return ['rows', await client.google_auth.list()];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ import langCreate from './store/lang/create.js';
|
|||||||
import langDelete from './store/lang/delete.js';
|
import langDelete from './store/lang/delete.js';
|
||||||
import langList from './store/lang/list.js';
|
import langList from './store/lang/list.js';
|
||||||
import googleAuthAdd from './store/google_auth/add.js';
|
import googleAuthAdd from './store/google_auth/add.js';
|
||||||
|
import googleAuthGetById from './store/google_auth/getById.js';
|
||||||
|
import googleAuthGetByEmail from './store/google_auth/getByEmail.js';
|
||||||
import googleAuthList from './store/google_auth/list.js';
|
import googleAuthList from './store/google_auth/list.js';
|
||||||
import googleAuthDel from './store/google_auth/del.js';
|
import googleAuthDel from './store/google_auth/del.js';
|
||||||
import storePurge from './store/purge.js';
|
import storePurge from './store/purge.js';
|
||||||
@@ -54,6 +56,8 @@ export default class LibDashStore {
|
|||||||
|
|
||||||
this.google_auth = {
|
this.google_auth = {
|
||||||
add: googleAuthAdd(pool),
|
add: googleAuthAdd(pool),
|
||||||
|
getById: googleAuthGetById(pool),
|
||||||
|
getByEmail: googleAuthGetByEmail(pool),
|
||||||
list: googleAuthList(pool),
|
list: googleAuthList(pool),
|
||||||
del: googleAuthDel(pool),
|
del: googleAuthDel(pool),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,6 +4,18 @@ OUTPUT INSERTED.id
|
|||||||
VALUES (@email)
|
VALUES (@email)
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
export const GET_BY_ID = `
|
||||||
|
SELECT id, email, created_at, selected_company
|
||||||
|
FROM google_auth
|
||||||
|
WHERE id = @id
|
||||||
|
`;
|
||||||
|
|
||||||
|
export const GET_BY_EMAIL = `
|
||||||
|
SELECT id, email, created_at, selected_company
|
||||||
|
FROM google_auth
|
||||||
|
WHERE email = @email
|
||||||
|
`;
|
||||||
|
|
||||||
export const LIST = `
|
export const LIST = `
|
||||||
SELECT id, email, created_at, selected_company
|
SELECT id, email, created_at, selected_company
|
||||||
FROM google_auth
|
FROM google_auth
|
||||||
|
|||||||
13
src/store/google_auth/getByEmail.js
Normal file
13
src/store/google_auth/getByEmail.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import sql from 'mssql';
|
||||||
|
import { GET_BY_EMAIL } from '../../sql/google_auth.js';
|
||||||
|
|
||||||
|
export default function getByEmail(pool) {
|
||||||
|
return async (email) => {
|
||||||
|
const result = await pool
|
||||||
|
.request()
|
||||||
|
.input('email', sql.NVarChar(320), email)
|
||||||
|
.query(GET_BY_EMAIL);
|
||||||
|
|
||||||
|
return result.recordset[0];
|
||||||
|
};
|
||||||
|
}
|
||||||
13
src/store/google_auth/getById.js
Normal file
13
src/store/google_auth/getById.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import sql from 'mssql';
|
||||||
|
import { GET_BY_ID } from '../../sql/google_auth.js';
|
||||||
|
|
||||||
|
export default function getById(pool) {
|
||||||
|
return async (id) => {
|
||||||
|
const result = await pool
|
||||||
|
.request()
|
||||||
|
.input('id', sql.Int, id)
|
||||||
|
.query(GET_BY_ID);
|
||||||
|
|
||||||
|
return result.recordset[0];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user