Sheet use limited input device auth flow (#782)

* refactor: limited-input-device auth

* refactor: resolve sheet directory from setup

* refactor: extract sheet logic in backend

* refactor: simplify sheet integration

---------

Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com>
Co-authored-by: Carlos Valente <carlosvalente@pm.me>
This commit is contained in:
Alex Christoffer Rasmussen
2024-02-24 11:58:50 +01:00
committed by GitHub
parent fc5338903b
commit 474f1e2177
54 changed files with 1636 additions and 1144 deletions
@@ -1,4 +1,4 @@
import { isIPAddress, isOnlyNumbers, startsWithHttp, startsWithSlash } from '../regex';
import { isAlphanumeric, isIPAddress, isNotEmpty, isOnlyNumbers, startsWithHttp, startsWithSlash } from '../regex';
describe('simple tests for regex', () => {
test('isOnlyNumbers', () => {
@@ -48,4 +48,28 @@ describe('simple tests for regex', () => {
expect(startsWithSlash.test(t)).toBe(false);
});
});
test('isAlphanumeric', () => {
const right = ['dsafdsafa9f9sdafdsSADFHASDF', '1231', '1', 'a', 'asdas1asdas', '11as', '1'];
const wrong = ['with space', 'with @', '#'];
right.forEach((t) => {
expect(isAlphanumeric.test(t)).toBe(true);
});
wrong.forEach((t) => {
expect(isAlphanumeric.test(t)).toBe(false);
});
});
test('isNotEmpty', () => {
const right = ['notempty'];
const wrong = ['', ' '];
right.forEach((t) => {
expect(isNotEmpty.test(t)).toBe(true);
});
wrong.forEach((t) => {
expect(isNotEmpty.test(t)).toBe(false);
});
});
});
+13 -1
View File
@@ -8,7 +8,19 @@ import { OntimeEvent, SupportedEvent } from 'ontime-types';
*/
type ClonedEvent = Omit<
OntimeEvent,
'id' | 'cue' | 'user0' | 'user1' | 'user2' | 'user3' | 'user4' | 'user5' | 'user6' | 'user7' | 'user8' | 'user9'
| 'id'
| 'cue'
| 'user0'
| 'user1'
| 'user2'
| 'user3'
| 'user4'
| 'user5'
| 'user6'
| 'user7'
| 'user8'
| 'user9'
| 'custom'
>;
export const cloneEvent = (event: OntimeEvent, after?: string): ClonedEvent => {
return {
+2
View File
@@ -7,3 +7,5 @@ export const isOnlyNumbers = /^\d+$/;
export const isIPAddress = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/;
export const startsWithHttp = /^http:\/\//;
export const startsWithSlash = /^\//;
export const isAlphanumeric = /^[a-z0-9]+$/i;
export const isNotEmpty = /\S/;