Skip to content

Instantly share code, notes, and snippets.

View neilherbertuk's full-sized avatar

Neil Herbert neilherbertuk

View GitHub Profile
@neilherbertuk
neilherbertuk / dynamodb-attribute-renamer.ts
Last active December 20, 2023 16:21
Typescript script to rename attributes on a DynamoDB table
/**
* Uses AWS-SDK v3
*/
import {
AttributeValue,
BatchWriteItemCommand,
BatchWriteItemCommandInput,
DynamoDBClient,
ScanCommand,
ScanCommandInput
@neilherbertuk
neilherbertuk / newcastle_staffs_gov_uk.py
Created October 20, 2023 22:41
Updated newcastle_staffs_gov_uk.py for mampfes/hacs_waste_collection_schedule
import logging
import requests
from bs4 import BeautifulSoup
from datetime import datetime
from waste_collection_schedule import Collection
TITLE = "Newcastle Under Lyme Borough Council"
DESCRIPTION = "Source for waste collection services for Newcastle Under Lyme Borough Council"
URL = "https://www.newcastle-staffs.gov.uk"
@neilherbertuk
neilherbertuk / propertValueCacheExample.groovy
Last active January 23, 2023 08:05
An example of how to retrieve values from OpenIAM's PropertyValueCache - https://neilherbert.uk/2023/01/avoiding-hardcoded-values-in-openiam-groovy-scripts/
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.openiam.idm.srvc.property.service.PropertyValueCache
import org.springframework.context.ApplicationContext
// Dependencies
Log log = LogFactory.getLog("propertValueExample") // Logging
ApplicationContext appContext = (ApplicationContext) context // IoC Container
PropertyValueCache propertyValueCache = appContext.getBean(PropertyValueCache.class) // Global Settings
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
class LoggingExample {
private static final Log log = LogFactory.getLog("LoggingExample")
public void methodName() {
log.info("methodName has been called")
}
}
@neilherbertuk
neilherbertuk / TestConnection.groovy
Created January 6, 2023 17:08
OpenIAM Script Connector Test Connection Script
import org.openiam.api.connector.model.UserConnectorObject
import org.openiam.api.connector.user.response.TestProvisioningConnectorResponse
import org.openiam.base.ws.ResponseStatus
import org.openiam.connector.core.base.commands.AbstractCommandExecutor
import org.openiam.connector.core.base.exception.ConnectorException
class TestConnection extends AbstractCommandExecutor<UserConnectorObject, TestProvisioningConnectorResponse> {
@Override
TestProvisioningConnectorResponse perform(UserConnectorObject userConnectorObject) throws ConnectorException {
@neilherbertuk
neilherbertuk / findUserByID.groovy
Created December 16, 2022 21:05
Find a single user by ID in OpenIAM
import java.util.List
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.openiam.common.beans.mq.UserRabbitMQService
import org.openiam.idm.srvc.user.dto.User
import org.openiam.idm.srvc.user.dto.UserCollection
import org.springframework.context.ApplicationContext
// Dependencies
Log log = LogFactory.getLog("findUserTest") // Logging
@neilherbertuk
neilherbertuk / findUserByStartDate.groovy
Created December 16, 2022 13:52
Find users by their start date within OpenIAM
import java.util.List
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.openiam.idm.searchbeans.UserSearchBean
import org.openiam.idm.srvc.user.dto.User
import org.openiam.srvc.user.UserDataWebService
import org.springframework.context.ApplicationContext
// Dependencies
Log log = LogFactory.getLog("findUserTest") // Logging
@neilherbertuk
neilherbertuk / findUsersByLastDate.groovy
Created December 16, 2022 13:46
Find users by their last (end) date within OpenIAM
import java.util.List
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.openiam.idm.searchbeans.UserSearchBean
import org.openiam.idm.srvc.user.dto.User
import org.openiam.srvc.user.UserDataWebService
import org.springframework.context.ApplicationContext
// Dependencies
Log log = LogFactory.getLog("findUserTest") // Logging
@neilherbertuk
neilherbertuk / findAllUsersPaginationTest.groovy
Last active December 16, 2022 10:10
Finding large number of users with pagination witin OpenIAM with a groovy script
import java.util.List
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.openiam.base.request.BaseSearchServiceRequest
import org.openiam.base.request.BaseServiceRequest
import org.openiam.base.response.data.IntResponse
import org.openiam.base.response.data.BaseDataResponse
import org.openiam.base.ws.MatchType
import org.openiam.base.ws.SearchParam
import org.openiam.common.beans.mq.RabbitMQSender
@neilherbertuk
neilherbertuk / findUsersTest.groovy
Last active December 16, 2022 10:16
Find multiple users by First and Last name within OpenIAM
import java.util.List
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.openiam.base.ws.MatchType
import org.openiam.base.ws.SearchParam
import org.openiam.common.beans.mq.UserRabbitMQService
import org.openiam.idm.searchbeans.UserSearchBean
import org.openiam.idm.srvc.user.dto.User
import org.openiam.idm.srvc.user.dto.UserCollection
import org.openiam.idm.srvc.user.dto.UserStatusEnum