Skip to content

Instantly share code, notes, and snippets.

View adrian-afergon's full-sized avatar
🏠
Working from home

Adrián Ferrera González adrian-afergon

🏠
Working from home
View GitHub Profile
@adrian-afergon
adrian-afergon / firestore.rules
Last active June 16, 2018 11:09
Firestore default configuration
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
function getRole() {
return get(/databases/$(database)/documents/users/$(request.auth.uid))
}
@adrian-afergon
adrian-afergon / role.js
Created June 16, 2018 11:12
Get Role 2
function getRole(role) {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.roles[role]
}
@adrian-afergon
adrian-afergon / firestore.rules
Last active May 7, 2021 19:15
Firestore complex rules
service cloud.firestore {
match /databases/{database}/documents {
match /exercises {
function getRole(role) {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.roles[role]
}
allow read: if getRole('subscriber') == true;
allow update: if getRole('editor') == true;
allow create, delete: if getRole('admin') == true;
}
match /{document=**} {
allow read, write: if (request.auth.uid != null);
}
@adrian-afergon
adrian-afergon / firestore.rules
Created June 16, 2018 11:24
Definitive rules
service cloud.firestore {
match /databases/{database}/documents {
match /exercises {
function getRole(role) {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.roles[role]
}
allow read: if getRole('subscriber') == true;
allow update: if getRole('editor') == true;
allow create, delete: if getRole('admin') == true;
}
@adrian-afergon
adrian-afergon / firestore.rules
Created June 16, 2018 14:04
Firestor rules extends
match /{document=**} {
allow read, write: if (request.auth.uid != null);
}
@adrian-afergon
adrian-afergon / App.test.js
Created July 29, 2018 19:04
Default test for test App.js in React Native
import React from 'react';
import App from './App';
import renderer from 'react-test-renderer';
it('renders without crashing', () => {
const rendered = renderer.create(<App />).toJSON();
expect(rendered).toBeTruthy();
});
@adrian-afergon
adrian-afergon / App.test.js
Created August 15, 2018 17:28
Adding test for find button inside App
import React from 'react';
import App from './App';
import renderer from 'react-test-renderer';
import Adapter from 'enzyme-adapter-react-16'
import { shallow, configure } from 'enzyme';
configure({ adapter: new Adapter() });
it('renders without crashing', () => {
@adrian-afergon
adrian-afergon / App.js
Created August 15, 2018 17:38
Add button to App.js
import React from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
export default class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<Text>Changes you make will automatically reload.</Text>
<Text>Shake your phone to open the developer menu.</Text>