Skip to content

Instantly share code, notes, and snippets.

View surajp's full-sized avatar
😄
Focusing

Suraj Pillai surajp

😄
Focusing
View GitHub Profile
@surajp
surajp / createTestSuite.cls
Last active June 29, 2024 21:37
Anonymous apex to create test suite
class Membership {
Id apexClassId;
Id apexTestSuiteId;
public Membership(Id suiteId, Id classId) {
this.apexTestSuiteId = suiteId;
this.apexClassId = classId;
}
}
String suiteName = 'My_Test_Suite';
@surajp
surajp / dynaComp.html
Created August 15, 2023 17:27
Custom Elements in LWC
<template>
<h2>Dynamic Component</h2>
<div lwc:dom="manual" class="container"></div>
</template>
@surajp
surajp / sfRestApi.sh
Last active February 9, 2023 19:15
A script for invoking SF REST APIs from the command line using session id from sfdx
#!/usr/bin/env bash
set -euo pipefail
# A script for invoking SF REST APIs using session id from sfdx
if [[ $1 = "-h" || $1 = "-help" ]]; then
echo "Usage: $(basename $0) <org username/alias> <path starting from version number> <additional request info>"
exit 1
fi
@surajp
surajp / traceFlag.sh
Created October 13, 2022 14:53
Add debug logs for a user
#!/usr/bin/env bash
set -euo pipefail
usage="./traceFlag.sh <traced user name>(defaults to 'System') <trace interval in minutes>(defaults to 30 minutes)"
if [[ "$1" = "-h" ]]; then
echo $usage
exit 0
fi
tracedUserName=${1:-System}
traceInterval=${2:-30}
echo "tracing $tracedUserName for $traceInterval minutes"
@surajp
surajp / Dockerfile
Created September 23, 2022 14:47
VSC Dev Container
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.234.0/containers/ubuntu/.devcontainer/base.Dockerfile
# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04
ARG VARIANT="jammy"
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
@surajp
surajp / retrieveAllPublicReports.sh
Created January 14, 2022 21:04
Bash script to retrieve all public reports in an org
#!/usr/bin/env bash
set -euo pipefail
orgname=$1
sfdx force:data:soql:query -q "Select FolderName,DeveloperName from Report where FolderName='Public Reports'" -u $orgname -r csv | tail -n +2 | grep -e "^[^,]" | sed 's/^/Report:/g' | sed -z 's/,/\//g' | tr '\n' ', ' | sed 's/.$//' | xargs -I '%' sfdx force:source:retrieve -m "%" -u $orgname -w 5
@surajp
surajp / .tidyrc
Created July 6, 2021 19:37
Tidy rc for xml files
input-xml: yes
quiet: yes
indent: yes
indent-attributes: yes
indent-spaces: 4
char-encoding: utf8
wrap: 0
wrap-asp: no
wrap-jste: no
wrap-php: no
@surajp
surajp / settings.jsonc
Last active June 16, 2021 02:04
Basic VS Code Settings for Salesforce Development
{
"workbench.colorTheme": "Default Dark+",
"git.postCommitCommand": "sync",
"git.enableSmartCommit": true,
"git.confirmSync": false,
"git.autofetch": true,
"terminal.integrated.fontFamily": "Consolas",
//"prettier.prettierPath": "/home/coder/.npm/lib/node_modules/prettier",
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
@surajp
surajp / CreateNamedCredsController.cls
Created May 28, 2021 04:26
Create Named Credentials in Salesforce via Apex
public with sharing class CreateNamedCredsController {
public static final String CLIENT_ID = '<clientid>';
public static final String CLIENT_SECRET = '<clientsecret>';
public static final String API_VERSION='v51.0';
public static final String TOKEN_ENDPOINT_URL = 'https://login.salesforce.com/services/oauth2/token';
public static final String AUTHORIZE_ENDPOINT_URL = 'https://login.salesforce.com/services/oauth2/authorize';
public static final String REDIRECT_URL = URL.getSalesforceBaseUrl().toExternalForm()+'/apex/AuthHandler';
public static final String NAMEDCRED_TOOLING_ENDPOINT_URL = URL.getSalesforceBaseUrl().toExternalForm()+'/services/data/'+API_VERSION+'/tooling/sobjects/NamedCredential/';
public static final String AUTH_PROVIDER_NAME = 'SF_Auth';
@surajp
surajp / lwc.html
Last active February 17, 2021 22:52
<template for:each="{forecastRevenues}" for:item="period">
<tr key="{period.index}">
<td
data-label="{period}"
data-id="{period.Id}"
data-field="Forcast_Period_Start__c"
>
<div class="slds-truncate" title="{period.Forecast_Period_Start__c}">
<lightning-input
type="date"