This commit is contained in:
seb
2026-07-31 04:52:14 +02:00
parent 10d1d472fd
commit 52b9d125f7
5 changed files with 57 additions and 0 deletions

View File

@@ -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()];
} }

View File

@@ -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),
}; };

View File

@@ -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

View 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];
};
}

View 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];
};
}