Skip to content

Instantly share code, notes, and snippets.

View BrianJM's full-sized avatar

Brian BrianJM

  • 08:22 (UTC -04:00)
View GitHub Profile
@tyteen4a03
tyteen4a03 / cron-server.ts
Created November 1, 2024 17:11
Payload 3.0 Cron Runner
import { createServer } from "node:http";
import { parse } from "node:url";
import { initGraphClient } from "@/modules/msgraph/client";
import { rosterfyImportWorkflowId } from "@/modules/volunteer/workflows/rosterfyImportWorkflow";
import config from "@payload-config";
import next from "next";
import cron from "node-cron";
import { getPayload } from "payload";
const port = Number.parseInt(process.env.PORT || "3010");
@MarkAtOmniux
MarkAtOmniux / AddEditPhaseModal.tsx
Last active March 23, 2024 22:40
A Project Board Planner board built using Payload CMS
import React from 'react';
import { Modal } from '@faceless-ui/modal';
import { Button } from 'payload/components';
import {
Form,
FormSubmit,
RenderFields,
fieldTypes,
} from 'payload/components/forms';
const someQuestion: CollectionConfig = {
slug: 'some-collection',
custom: {
cacheControl: 'public, max-age=300, stale-while-revalidate=300, stale-if-error=86400',
},
}
@tyteen4a03
tyteen4a03 / JobStopsListenerField.tsx
Last active January 3, 2025 16:31
PayloadCMS Listener Field Pattern (v3)
import JobStopsListenerFieldEffect from "@/modules/transport/components/JobStopsListenerField/JobStopsListenerFieldEffect";
import type { UIFieldServerComponent } from "payload";
const JobStopsListenerField: UIFieldServerComponent = async ({ payload }) => {
const warehouse =
(
await payload.find({
collection: "addresses",
where: {
type: {
@tyteen4a03
tyteen4a03 / PayloadFormExample.tsx
Created October 30, 2023 15:47
Payload Form Example
import { Gutter } from "payload/components/elements";
import { Form, FormSubmit, RenderFields, fieldTypes } from "payload/components/forms";
import { DefaultTemplate } from "payload/components/templates";
import { AdminViewComponent } from "payload/config";
import { useStepNav } from "payload/dist/admin/components/elements/StepNav";
import { Field } from "payload/types";
import React, { useEffect } from "react";
import { useTranslation } from "react-i18next";
const PayloadFormExample: AdminViewComponent = () => {
@DrMint
DrMint / ExampleCollection.ts
Last active April 8, 2025 06:59
Grid View for Payload Uploads Collections
import { CollectionConfig } from "payload/types";
import { UploadsGridView } from "../../components/UploadsGridView/UploadsGridView";
export const Media: CollectionConfig = {
slug: "media",
admin: {
components: { views: { List: UploadsGridView } } // Set the List view to use the Grid view,
},
upload: {
staticURL: "/media",
import { User } from 'payload/dist/auth';
import { Access, AccessArgs, FieldAccess } from 'payload/types';
type CheckerArgs = {
user?: User;
id?: string | number;
};
type Checker = (args: CheckerArgs) => boolean;
const isAdmin: Checker = ({ user }) => user?.role && user?.role === 'admin';
@Explosion-Scratch
Explosion-Scratch / Compress string.js
Created November 1, 2021 18:51
Compress string using gzip and native browser APIs
function compress(string, encoding) {
const byteArray = new TextEncoder().encode(string);
const cs = new CompressionStream(encoding);
const writer = cs.writable.getWriter();
writer.write(byteArray);
writer.close();
return new Response(cs.readable).arrayBuffer();
}
function decompress(byteArray, encoding) {
@muhammad-owais-javed
muhammad-owais-javed / OS-GreymonSheet.sh
Last active July 15, 2024 01:41
Scripts, Commands, Configurations, Package Deployments and Apache .htaccess rules particularly as per Cloudways stack
#OS-GreymonSheet
#For switching to Master user
for user in $(cat /etc/passwd | grep master | awk -F : '{print $1}'); do su $user; done
#For Finding application with corresponging domain name
grep -lr "domain.com" */conf/*
#For checking apache logs of every application in Cloudways
@muhammad-owais-javed
muhammad-owais-javed / MySQL_Sheet.sh
Created August 1, 2021 20:21
Useful MySQL queries and configurations
#MYSQL
#For login to mysql
mysql -h hostname -u dbusername -p dbname
#For taking dump of mysql
mysqldump -h hostname -u dbusername -p dbname > dbbackup.sql
#For taking dump without tablespaces
mysqldump -h hostname -u dbusername -p dbname --no-tablespaces > dbback.sql