Skip to content

Instantly share code, notes, and snippets.

Comunicazione & progettazione

  • limitare l'utilizzo della comunicazione sincrona (slack) per q&a
  • partire dai doc gdrive per l'analisi dei requisiti, inserire lì i commenti e taggare le persone che possono rispondere
  • durante la standup howdy alla domanda 'hai bisogno di aiuto' taggare le stesse persone per sollecitare una risposta
  • usare le storie su pivotal per discutere l'implementazione quando i requisiti sono chiari
  • usare le PR per discutere i dettagli implementativi
  • inserire eventualmente dei commenti inline nelle PR per spiegare alcune scelte progettuali (non dovrebbe essere necessario se si usano bene i commenti nel codice :-)
/**
* we need a couple of patches and some utility functions
* to the azure sdk, see
* https://github.com/teamdigitale/io-developer-portal-backend/tree/master/patches
*/
// tslint:disable:no-console
import * as dotenv from "dotenv";
dotenv.config({ path: __dirname + "/../local.env" });
import ApiManagementClient from "azure-arm-apimanagement";
@gunzip
gunzip / test.ts
Created November 25, 2019 13:09
taskeither
import { array } from "fp-ts/lib/Array";
import { left2v, taskEither, tryCatch } from "fp-ts/lib/TaskEither";
const t1 = tryCatch<Error, string>(
// some function that returns a promise or an either
async () => "someValue1",
// "catch" handler
() => Error("t1 error")
);
@gunzip
gunzip / test
Last active September 3, 2019 10:14
c8dd014b-f184-407f-82f5-07cc77ac0658
{"swagger":"2.0","schemes":["https"],"info":{"description":"This is a JSON API compliant implemenation","title":"drupal-headless - JSON API","version":"Versioning not supported"},"host":"drupal.danilospinelli.com","basePath":"\/jsonapi","securityDefinitions":{"jwt_auth":{"type":"unknown","description":"Unknown Authentication Provider"},"oauth2":{"type":"oauth2","flow":"password","tokenUrl":"https:\/\/drupal.danilospinelli.com\/oauth\/token"},"cookie":{"type":"cookie","in":"cookie","name":"JSESSIONID"},"csrf_token":{"type":"apiKey","name":"X-CSRF-Token","in":"header","tokenUrl":"https:\/\/drupal.danilospinelli.com\/user\/token"}},"security":{"jwt_auth":[],"oauth2":[],"cookie":[],"csrf_token":[]},"tags":[{"name":"Blocco","description":"Configuration entity Blocco"},{"name":"Consumer"},{"name":"Content moderation state"},{"name":"Ritaglia - Freeform","description":"Crop type Freeform of type Ritaglia.","x-entity-type":"crop","x-definition":{"$ref":"#\/definitions\/crop--freeform"}},{"name":"Crop type","descripti
describe("Notification Controllers", () => {
test("Activation should return a positive result", async () => {
const serviceEndpoint = RestfulUtils.getActivateNotificationSubscriptionUrlForApp(
FiscalCode.decode("AAABBB88H22A089A").value as FiscalCode,
config.CONTROLLER.ROUTES.NOTIFICATION_ACTIVATION
);
const response = await fetch(
`${config.CONTROLLER.HOST}:${config.CONTROLLER.PORT}${serviceEndpoint}`,
import * as t from "io-ts";
import { DateFromString } from "italia-ts-commons/lib/dates";
import { readableReport } from "italia-ts-commons/lib/reporters";
import { NonEmptyString, PatternString } from "italia-ts-commons/lib/strings";
const CreditCardUnknown = t.type(
{
ccNumber: PatternString("^[0-9]+$"),
expires: NonEmptyString,
id: t.number,
*** ../backups/api-35.ts 2018-03-29 19:07:26.027000000 +0200
--- lib/api/public_api_v1.ts 2018-03-29 19:05:27.794891900 +0200
***************
*** 7,13 ****
export const specs = {
swagger: "2.0",
info: {
! version: "0.0.1",
title: "Digital Citizenship API",
description: "Digital Citizenship API."
*** ../backups/api-35.ts 2018-03-29 19:07:26.027000000 +0200
--- lib/api/public_api_v1.ts 2018-03-29 19:05:27.794891900 +0200
***************
*** 7,13 ****
export const specs = {
swagger: "2.0",
info: {
! version: "0.0.1",
title: "Digital Citizenship API",
description: "Digital Citizenship API."
*** ../backups/api-35.ts 2018-03-29 19:02:12.941863400 +0200
--- lib/public_api_v1.ts 2018-03-29 19:02:17.977316200 +0200
***************
*** 33,39 ****
--- 33,48 ----
import { secureExpressApp } from "./utils/express";
import { createBlobService } from "azure-storage";
+
import { GetService } from "./controllers/services";