-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathejemplos_21009500_VenegasAbarca.rkt
74 lines (57 loc) · 4.35 KB
/
ejemplos_21009500_VenegasAbarca.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#lang racket
(require "main_21009500_VenegasAbarca.rkt")
(require "TDA_fechas_21009500_VenegasAbarca.rkt")
(require "TDA_usuarios_21009500_VenegasAbarca.rkt")
(require "TDA_document_21009500_VenegasAbarca.rkt")
(require "encriptar_21009500_VenegasAbarca.rkt")
(require "TDA_paradigmaDocs_21009500_VenegasAbarca.rkt")
(require "TDA_access_21009500_VenegasAbarca.rkt")
(require "TDA_version_21009500_VenegasAbarca.rkt")
; se definen 3 paradigmadocs y se guardan con sus respectivos nombres
(define word (paradigmadocs "Word" (date 24 10 2021) encryptFn encryptFn))
(define excel (paradigmadocs "Excel" (date 03 06 2021) encryptFn encryptFn))
(define gDocs (paradigmadocs "GDoc" (date 10 12 2020) encryptFn encryptFn))
; se registran distintas cantidad de usuarios para los 3 paradigmadocs
(define word1 (register (register word (date 05 07 2021) "nico" "1234") (date 05 07 2021) "raul" "4321"))
(define excel1 (register (register excel (date 05 07 2021) "nico" "1234") (date 05 07 2021) "Loki" "4321"))
(define gDocs1 (register (register (register gDocs (date 05 07 2021) "nico" "1234") (date 05 07 2021) "Loki" "4321") (date 24 09 2021) "cody" "5678"))
; se crean documentos en los paradigmadocs mediante el login y el create, en gDocs se hace un intento de prueba con usuario erroneo
(define word2 ((login word1 "nico" "1234" create) (date 02 03 2021) "Informe Nico" "introduccion...") )
(define excel2 ((login excel1 "Loki" "4321" create) (date 02 03 2021) "Lista Loki" "1- MasterCat /n") )
(define gDocs2 ((login gDocs1 "cody" "5678" create) (date 02 03 2021) "Revision Cody" "contenido Revision") )
(define gDocsError ((login gDocs1 "cody" "1234" create) (date 02 03 2021) "Revision Cody" "contenido Revision") )
; los dueños de documentos en los paradigmadocs les dan accesos a todos los demas usuarios registrados
(define word3 ((login word2 "nico" "1234" share) 1 (access "raul" #\r)))
(define excel3 ((login excel2 "Loki" "4321" share) 1 (access "nico" #\w)))
(define gDocs3 ((login gDocs2 "cody" "5678" share) 1 (access "Loki" #\r) (access "nico" #\c)))
(define gDocsError1 ((login gDocs2 "cody" "5678" share) 1 (access "Loki" #\r) (access "nico" #\c)))
; los dueños de documentos o usuarios con permiso de escritura añaden contenido al final de los documentos registrados
(define word4 ((login word3 "nico" "1234" add) 1 (date 12 23 2021) " /n Desarrollo..."))
(define excel4 ((login excel3 "nico" "1234" add) 1 (date 12 23 2021) "2-Atun"))
(define gDocs4 ((login gDocs3 "cody" "5678" add) 1 (date 12 23 2021) " /nConclusion Revision: "))
(define gDocsError2 ((login gDocs3 "Loki" "4321" add) 1 (date 12 23 2021) " /nConclusion Revision: "))
; de los documentos creados y con texto añadido se vuelve a la version anterior
(define word5 ((login word4 "nico" "1234" restoreVersion) 1 0))
(define excel5 ((login excel4 "Loki" "4321" restoreVersion) 1 0))
(define gDocs5 ((login gDocs4 "cody" "5678" restoreVersion) 1 0))
; se revocan todos los accesos a los documentos
(define word6 (login word5 "nico" "1234" revokeAllAccesses))
(define excel6 (login excel5 "Loki" "4321" revokeAllAccesses))
(define gDocs6 (login gDocs5 "cody" "5678" revokeAllAccesses))
;se crean mas documentos en las distintas plataformas con el fin de probar la funcion search (se restaunran los accesos anteriores)
(define word7 ((login word5 "nico" "1234" create) (date 12 12 2021) "segundo docucumento" "Prueba de segundo documento") )
(define excel7 ((login excel5 "nico" "1234" create) (date 07 10 2021) "prueba Nico" "contenido nico") )
(define gDocs7 ((login gDocs5 "Loki" "4321" create) (date 08 08 2021) "Documento Loki" "contenido de loki") )
; distintas usuarios buscan documentos mediante una palabra clave
(define search1 ((login word7 "nico" "1234" search) "tro"))
(define search2 ((login excel7 "nico" "1234" search) "Master"))
(define search3 ((login gDocs7 "Loki" "4321" search) "contenido"))
(define searchNull ((login gDocs7 "Loki" "4321" search) "conclusion"))
;se imprime la informacion de los paradigmadocs creados y luego la relacionada a ciertos usuarios
(display (paradigmadocs->string word7))
(display (paradigmadocs->string excel7))
(display (paradigmadocs->string gDocs7))
(display (login word7 "nico" "1234" paradigmadocs->string))
(display (login excel7 "Loki" "4321" paradigmadocs->string))
(display (login gDocs7 "cody" "5678" paradigmadocs->string))
(display (login gDocs7 "nico" "1234" paradigmadocs->string))