Skip to content

Instantly share code, notes, and snippets.

View crucialfelix's full-sized avatar
💭
Building product, looking for consulting work

Chris Sattinger crucialfelix

💭
Building product, looking for consulting work
View GitHub Profile
import React from "react";
import { MessagesQuery, MessagesQueryVariables } from "../../queries";
import { graphql, QueryProps } from "react-apollo";
import Message from "./Message";
// IMPORTANT: The query is required, not imported.
const query = require("./Messages.graphql");
const POLL_INTERVAL = 7901;
#import './Message.graphql'
query Messages($threadKey: String!) {
viewer {
id
messages(threadKey: $threadKey) {
edges {
node {
id
...Message
}
import gql from "graphql-tag";
import React from "react";
interface Props {
message: any;
}
export default class Message extends React.PureComponent<Props, undefined> {
public render() {
return <div>message body</div>;
apollo-codegen generate frontend/react/**/*.graphql \
--schema frontend/schema.json \
--target typescript \
--output frontend/react/queries.ts
import gql from "graphql-tag";
import ShowingRequest from "./ShowingRequest";
import Deals from "./Deals";
const query = gql`
query Client($pk: ID!) {
viewer {
id
agent {
id
@crucialfelix
crucialfelix / schema.json
Created September 3, 2017 13:35
excerpt from graphql compiled schema for Message and User/Viewer model
[
{
"kind": "OBJECT",
"name": "Message",
"description": null,
"fields": [
{
"name": "id",
"description": "The ID of the object.",
"args": [],
import React from "react";
import { Link } from "react-router-dom";
import { MessageFragment } from "../../queries";
import DateFormat from "../DateFormat";
export interface Props {
message: MessageFragment;
}
export type MessageFragment = {
// The ID of the object.
id: string;
body: string;
createdOn: string;
// Slug specifying a custom message type.
messageType: string;
author: {
name: string;
email: string;
fragment Message on Message {
id
body
createdOn
messageType
author
}
@crucialfelix
crucialfelix / models.py
Created September 3, 2017 13:14
graphql typescript apollogen
from django.contrib.auth.models import User
from django.db import models
class Message(models.Model):
thread = models.ForeignKey(MessageThread)
author = models.ForeignKey(User)
created_on = models.DateTimeField(db_index=True)
body = models.TextField()