aboutsummaryrefslogtreecommitdiff
path: root/modules/files/main.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/files/main.sh')
-rwxr-xr-xmodules/files/main.sh116
1 files changed, 116 insertions, 0 deletions
diff --git a/modules/files/main.sh b/modules/files/main.sh
new file mode 100755
index 0000000..73c8219
--- /dev/null
+++ b/modules/files/main.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+##
+## The following creates a files data message
+##
+## -h, --help Prints this help message
+##
+fullprogrampath="$(realpath $0)"
+PROGRAM=$(basename $0)
+descriptionString="Module for adding files"
+ZFILESDIR="$AK_WORKDIR/files"
+TEMP="/tmp/aktmp"
+source $AK_LIBDIR/_ak_script
+source $AK_LIBDIR/_ak_log
+source $AK_LIBDIR/_ak_ipfs
+source $AK_LIBDIR/_ak_gpg
+source $AK_LIBDIR/_ak_zblock
+
+if [ ! -d $ZFILESDIR ]; then
+ mkdir $ZFILESDIR
+ if [ $? == 0 ]
+ then
+ logit "INFO" "Folder $ZFILESDIR created!"
+ else
+ logit "ERROR" "Failed to create $ZFILESDIR folder"
+ exit 1
+ fi
+ cd $ZFILESDIR
+ git init
+else
+ logit "INFO" "$ZFILESDIR found!"
+fi
+
+_ak_modules_files_add(){
+ CRP="$(pwd)"
+ FILENAME="$1"
+ main $FILENAME $CRP
+ cat $TEMPASSIN/data | jq -M
+}
+main(){
+ FILENAME="$1"
+ CRP="$2"
+ echo "Adding $FILENAME"
+ logit "INFO" "Switching to tmp folder..."
+ TEMPASSIN="$(ak-tempassin)"
+ cd $TEMPASSIN
+ if [ $? == 0 ]; then
+ logit "INFO" "Success"
+ else
+ logit "ERROR" "Error with tmp folder"
+ exit 5
+ fi
+ logit "INFO" "Copying $1 to $TEMPASSIN"
+ cp $2/$1 $TEMPASSIN/$1
+ if [ $? == 0 ]; then
+ logit "INFO" "Copied successfully"
+ else
+ logit "ERROR" "Error copying..."
+ fi
+
+ FILE="$TEMPASSIN/$1"
+
+ logit "INFO" "Adding $FILE to IPFS..."
+ FILE_IPFS_HASH=$(_ak_ipfs_add $FILE)
+ if [ $? == 0 ]; then
+ logit "INFO" "Added $FILE to IPFS"
+ else
+ logit "ERROR" "Error in adding the $FILE to IPFS"
+ fi
+ logit "INFO" "Signing..."
+ SIGN_FILE=$FILENAME".asc"
+ _ak_gpg_sign_detached $SIGN_FILE $FILE
+ if [ $? == 0 ]; then
+ logit "INFO" "Signed"
+ else
+ logit "ERROR" "Error while signing"
+ fi
+
+ logit "INFO" "Adding signature to IPFS"
+ SIGNATURE=$(_ak_ipfs_add $TEMPASSIN/$SIGN_FILE)
+ if [ $? == 0 ]; then
+ logit "INFO" "Added"
+ else
+ logit "ERROR" "Error while adding"
+ fi
+
+ cat > $TEMPASSIN/data <<EOF
+{
+ "timestamp":"$(date -u +%s)",
+ "filename":"$FILENAME",
+ "ipfs":"$FILE_IPFS_HASH",
+ "detach":"$SIGNATURE"
+}
+EOF
+
+echo "Printing data..."
+cat $TEMPASSIN/data
+echo "Publishing..."
+
+ _ak_zblock_pack files/add $PWD/data
+ if [ $? == 0 ]
+ then
+ echo "cool"
+ else
+ echo "not?"
+ exit 2
+ fi
+}
+
+if [ ! -z $1 ]; then
+ case $1 in
+ -h | --help) _ak_usage; exit;;
+ add) _ak_modules_files_add $2; exit;;
+ *) _ak_usage; exit;;
+ esac
+else _ak_usage
+fi