Skip to content

Instantly share code, notes, and snippets.

@michael-mckenna
michael-mckenna / gist:c164bfb3d316c9cc90ee7b792bce62ce
Created June 22, 2017 13:24
Realm User Session for Non Admin not completing
SyncUser.logIn(with: credentials,
server: RealmURL.authentication,
timeout: 10) { user, error in
if let user = user {
print("Successfully signed in.")
let appDel = UIApplication.shared.delegate as! AppDelegate
appDel.initializeRealmConfigs()
let _ = RealmHelper.getRealmFor(configuration: RealmConfig.userObjectRealm!)
'use strict'
const moment = require('moment');
const Realm = require('realm');
// these two lines were copied and pasted from the email sent me after registering for the free trial
var token = "***";
Realm.Sync.setAccessToken(token);
// TODO: make this admin key an environmental variable
Logs:
Starting function
Changes in realm at: /globalUsers
Changes in Model: GlobalUser
- object inserted at position 4 : RealmObject { username: 'test', email: 'random@test.com' }
Code:
console.log("Starting function");
// add your initialization code here
@michael-mckenna
michael-mckenna / gist:0059eaf5093eddba2e4fdc7fb25a96f6
Last active August 2, 2017 18:10
Error: Sync feature not available
var express = require('express');
var app = express();
const Realm = require('realm');
// realm set up
const adminUser = Realm.Sync.User.adminUser('**');
var token = "***";
Realm.Sync.setAccessToken(token);
const AppointmentSchema = {
@michael-mckenna
michael-mckenna / core_data_stack.swift
Last active June 29, 2020 03:45
Concurrency Core Data Stack
class CoreDataHelper {
// MARK: - Core Data Stack
lazy var applicationDocumentsDirectory: URL = {
let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return urls[urls.count-1]
}()
lazy var managedObjectModel: NSManagedObjectModel = {
@michael-mckenna
michael-mckenna / query_concurrently.swift
Last active June 29, 2020 03:47
Core Data Concurrency - Query
static func searchUserBy(id: Int, in context: NSManagedObjectContext, completionHandler: @escaping (_ managedObjects: User?) -> Void) {
context.perform {
//searching core data
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "User")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format: "id == %@", "\(id)")
do {
let results = try context.fetch(request)
if let managedObjects = results as? [NSManagedObject], let user = managedObjects.first {
@michael-mckenna
michael-mckenna / concurrently_insert_update.swift
Last active June 13, 2018 16:19
Core Data Concurrency: Insert Or Update
let privateContext = CoreDataStack.generatePrivateContext()
// 1.
privateContext.perform {
// 2.
for userJSON in jsonResponse {
let id = user["id"] as! Int
// 3.
self.searchUserBy(id: 0, in: privateContext) { (user) in
var lastDoc: QueryDocumentSnapshot?
var listeners: [ListenerRegistration] = []
var query: Query = db.collection("channels").document("the doc id for this channel").collection("messages").limit(to: 25)
override func viewDidLoad() {
super.viewDidLoad()
addListener() // adds listener for first 25 messages
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {